0123_1230_3012

Counting sequence:
1, 1, 2, 6, 21, 76, 270, 929, 3118, 10354, 34472, 116097, 397167, 1380884, 4872188, 17405889, 62819962, 228610756, 837601210, 3086177693, 11425432275, 42472606302, 158457101414, 593074793470, 2226197960814, 8378384083538, 31608388238146, 119510768669269, 452795358403337, 1718791969330218, 6536034109937694, 24895684568654999, 94974443467122152, 362844759015657774, 1388125180685925316, 5317355233139258267, 20393440179059167633, 78304045088564929432, 300988716735679199264, 1158147960598510956216, 4460700393846432835212, 17196746067343242234028, 66355094652249445419444, 256253003936365009187819, 990406603077494682628703, 3830824577451426891683260, 14828271144504407611683088, 57437373616184115144812234, 222634045621596239509851102, 863514189055767642019219836, 3351328092016878181603237412, 13014375420339146616174456465, 50568328036731923542792973953, 196595366438503156525605326068, 764712955922680414987253542144, 2976087290560353477352819846874, 11587958835015883314542928459624, 45141368619639355711227783512652, 175930781765544149753939347359968, 685964237182259003958393306098791, 2675760196905987737717186221313799, 10441739120087027994495297835937696, 40763604821717641903745362415372204, 159199193123535515995181274702397645, 621974213558124699441075876800489038, 2430871956584862134597219236337943884, 9503972114296096788966401829003788706, 37170378720812931562111400428886852961, 145423027741729744048814606856267767063, 569127454250906024221249972453617912534, 2228035065181404308637203616414783762526, 8725027098247792216465132954949236178566, 34177487412603297797012348893332069568210, 133917867167390075822270505929071866910442, 524878234843570775452701609716241323179458, 2057770767585052909741261238446513262723361, 8069575352378735635580712331119298351892021, 31653127009551924127560626006867539309463242, 124191513347894267173493587244585904979571358, 487386838134691625109832712791594641234969188, 1913196497257292796541084154061301459239409972, 7511846125192949551027836690862813916706721306, 29500721190798046868412393082505255629531230890, 115881747339195018411412770490809322711446442743, 455293639511370331148707326932642981913544334175, 1789204793473039285151933873314394732400971768330, 7032638569951837855642799895253219768373695569926, 27648033478173789387232985126888350944078927887760, 108716608898602130554811611201705004370480166571926, 427574027788365841449287686207517825905481992198706, 1681932786892721419902692989974570966016173705904342, 6617379621277080887250052276117840882856307841834981, 26040049677352974979796448214226369280812103141015749, 102488284035185280138387774513728189858652527714269590, 403442506088602701058766996131342532947658812335302370, 1588409649584107914080290425843415423738766252849021872, 6254826651967490507496770442558996079312864214766974796, 24634199212503020330077526119586226813054384469146509966, 97035486638233953549282119310724343561954863444038467846, 382287675502064660993289390104245159215408212842925594455, 1506316453386425507342279060787438156433183988076682403743

Generating function in Maple syntax:
1/2*(4*(x-1)^6*(x-1/2)^2*(x+1)*(1-4*x)^(1/2)-40*x^9+168*x^8-361*x^7+445*x^6-305*x^5+87*x^4+25*x^3-29*x^2+9*x-1)/x/(2*x-1)^2/(x-1)^7

Generating function in latex syntax:
\frac{4 \left(x -1\right)^{6} \left(x -\frac{1}{2}\right)^{2} \left(x +1\right) \sqrt{1-4 x}-40 x^{9}+168 x^{8}-361 x^{7}+445 x^{6}-305 x^{5}+87 x^{4}+25 x^{3}-29 x^{2}+9 x -1}{2 x \left(2 x -1\right)^{2} \left(x -1\right)^{7}}

Generating function in sympy syntax:
(-20*x**9 + 84*x**8 - 361*x**7/2 + 445*x**6/2 - 305*x**5/2 + 87*x**4/2 + 25*x**3/2 - 29*x**2/2 + 9*x/2 + 2*sqrt(1 - 4*x)*(x - 1)**6*(x - 1/2)**2*(x + 1) - 1/2)/(x*(x - 1)**7*(2*x - 1)**2)

Implicit equation for the generating function in Maple syntax:
x*(2*x-1)^4*(x-1)^14*F(x)^2+(40*x^9-168*x^8+361*x^7-445*x^6+305*x^5-87*x^4-25*x^3+29*x^2-9*x+1)*(2*x-1)^2*(x-1)^7*F(x)+16*x^18+204*x^17-2280*x^16+10794*x^15-32169*x^14+67520*x^13-104127*x^12+118822*x^11-97614*x^10+51735*x^9-8432*x^8-13598*x^7+15600*x^6-9327*x^5+3702*x^4-1009*x^3+183*x^2-20*x+1 = 0

Implicit equation for the generating function in latex syntax:
x \left(2 x -1\right)^{4} \left(x -1\right)^{14} F \! \left(x \right)^{2}+\left(40 x^{9}-168 x^{8}+361 x^{7}-445 x^{6}+305 x^{5}-87 x^{4}-25 x^{3}+29 x^{2}-9 x +1\right) \left(2 x -1\right)^{2} \left(x -1\right)^{7} F \! \left(x \right)+16 x^{18}+204 x^{17}-2280 x^{16}+10794 x^{15}-32169 x^{14}+67520 x^{13}-104127 x^{12}+118822 x^{11}-97614 x^{10}+51735 x^{9}-8432 x^{8}-13598 x^{7}+15600 x^{6}-9327 x^{5}+3702 x^{4}-1009 x^{3}+183 x^{2}-20 x +1 = 0

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 21
a(5) = 76
a(6) = 270
a(7) = 929
a(8) = 3118
a(9) = 10354
a(10) = 34472
a(11) = 116097
a(12) = 397167
a(n+6) = 16*(2*n+1)/(7+n)*a(n)-8*(7*n+3)/(7+n)*a(1+n)+4*(n-24)/(7+n)*a(n+2)+2*(23*n+117)/(7+n)*a(n+3)-(183+35*n)/(7+n)*a(n+4)+10*(n+6)/(7+n)*a(n+5)+1/120*(6*n^6-187*n^5+1565*n^4-2875*n^3-851*n^2-7858*n-3720)/(7+n), n >= 13

Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(4\right) = 21
a \! \left(5\right) = 76
a \! \left(6\right) = 270
a \! \left(7\right) = 929
a \! \left(8\right) = 3118
a \! \left(9\right) = 10354
a \! \left(10\right) = 34472
a \! \left(11\right) = 116097
a \! \left(12\right) = 397167
a \! \left(n +6\right) = \frac{16 \left(2 n +1\right) a \! \left(n \right)}{7+n}-\frac{8 \left(7 n +3\right) a \! \left(1+n \right)}{7+n}+\frac{4 \left(n -24\right) a \! \left(n +2\right)}{7+n}+\frac{2 \left(23 n +117\right) a \! \left(n +3\right)}{7+n}-\frac{\left(183+35 n \right) a \! \left(n +4\right)}{7+n}+\frac{10 \left(n +6\right) a \! \left(n +5\right)}{7+n}+\frac{6 n^{6}-187 n^{5}+1565 n^{4}-2875 n^{3}-851 n^{2}-7858 n -3720}{120 n +840}, \quad n \geq 13

Specification 1
Strategy pack name: row_and_col_placements_req_corrob_expand_verified
Tree: http://permpal.com/tree/21107/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[13,x]*F[3,x]
F[3,x] = F[1,x]+F[4,x]+F[77,x]
F[4,x] = F[13,x]*F[5,x]
F[5,x] = F[46,x]+F[6,x]
F[6,x] = F[1,x]+F[42,x]+F[7,x]
F[7,x] = -F[1,x]-F[41,x]+F[8,x]
F[8,x] = F[21,x]+F[9,x]
F[9,x] = F[1,x]+F[10,x]
F[10,x] = F[11,x]*F[13,x]
F[11,x] = F[1,x]+F[12,x]+F[14,x]
F[12,x] = F[11,x]*F[13,x]
F[13,x] = x
F[14,x] = F[13,x]*F[15,x]
F[15,x] = F[16,x,1]
F[16,x,k[0]] = (F[17,x,k[0]]*k[0]-F[17,x,1])/(-1+k[0])
F[17,x,k[0]] = F[1,x]+F[18,x,k[0]]+F[20,x,k[0]]
F[18,x,k[0]] = F[17,x,k[0]]*F[19,x,k[0]]
F[19,x,k[0]] = k[0]*x
F[20,x,k[0]] = F[13,x]*F[16,x,k[0]]
F[21,x] = F[13,x]*F[22,x]
F[22,x] = F[21,x]+F[23,x]+F[26,x]
F[23,x] = F[1,x]+F[24,x]
F[24,x] = F[25,x]
F[25,x] = F[13,x]*F[23,x]
F[26,x] = F[27,x]
F[27,x] = F[13,x]*F[23,x]*F[28,x]
F[28,x] = F[29,x]+F[36,x]
F[29,x] = F[23,x]+F[30,x]
F[30,x] = F[24,x]+F[31,x]
F[31,x] = F[32,x]+F[33,x]+F[35,x]
F[32,x] = 0
F[33,x] = F[13,x]*F[34,x]
F[34,x] = F[24,x]+F[31,x]
F[35,x] = F[13,x]*F[30,x]
F[36,x] = F[24,x]+F[37,x]
F[37,x] = F[32,x]+F[38,x]+F[40,x]
F[38,x] = F[13,x]*F[39,x]
F[39,x] = F[24,x]+F[37,x]
F[40,x] = F[13,x]*F[36,x]
F[41,x] = F[13,x]*F[29,x]
F[42,x] = -F[1,x]-F[45,x]+F[43,x]
F[43,x] = 1/F[13,x]*F[44,x]
F[44,x] = -F[1,x]+F[9,x]
F[45,x] = F[13,x]*F[29,x]
F[46,x] = F[13,x]*F[47,x]
F[47,x] = F[48,x]+F[50,x]
F[48,x] = 1/F[13,x]*F[49,x]
F[49,x] = -F[9,x]+F[43,x]
F[50,x] = F[13,x]*F[51,x]
F[51,x] = F[52,x]+F[71,x]+F[72,x]
F[52,x] = F[53,x]
F[53,x] = F[43,x]+F[54,x]+F[55,x]
F[54,x] = F[13,x]*F[53,x]
F[55,x] = F[13,x]*F[56,x]
F[56,x] = 1/F[13,x]/F[23,x]*F[57,x]
F[57,x] = F[58,x]
F[58,x] = -F[67,x]+F[59,x]
F[59,x] = F[60,x]+F[63,x]
F[60,x] = 1/F[13,x]*F[61,x]
F[61,x] = -F[1,x]-F[62,x]+F[43,x]
F[62,x] = F[13,x]*F[43,x]
F[63,x] = F[64,x]
F[64,x] = F[13,x]*F[65,x]
F[65,x] = F[60,x]+F[64,x]+F[66,x]
F[66,x] = F[29,x]^2*F[13,x]
F[67,x] = F[1,x]+F[68,x]+F[69,x]+F[70,x]
F[68,x] = F[13,x]*F[29,x]
F[69,x] = F[13,x]*F[67,x]
F[70,x] = F[13,x]*F[59,x]
F[71,x] = F[13,x]*F[51,x]
F[72,x] = F[73,x]
F[73,x] = F[13,x]*F[23,x]*F[74,x]
F[74,x] = F[75,x]+F[76,x]
F[75,x] = F[29,x]^2
F[76,x] = F[23,x]*F[39,x]
F[77,x] = F[13,x]*F[78,x]
F[78,x] = F[3,x]+F[79,x]
F[79,x] = F[13,x]*F[80,x]
F[80,x] = F[195,x]+F[222,x]+F[29,x]+F[81,x]
F[81,x] = F[13,x]*F[82,x]
F[82,x] = 1/F[13,x]*F[83,x]
F[83,x] = -F[86,x]+F[84,x]
F[84,x] = 1/F[13,x]*F[85,x]
F[85,x] = -F[1,x]-F[191,x]-F[69,x]+F[86,x]
F[86,x] = F[43,x]+F[87,x]
F[87,x] = F[88,x]
F[88,x] = F[13,x]*F[89,x]
F[89,x] = F[178,x]+F[181,x]+F[90,x]+F[99,x]
F[90,x] = 1/F[13,x]*F[91,x]
F[91,x] = -F[1,x]-F[68,x]+F[92,x]
F[92,x] = F[9,x]+F[93,x]
F[93,x] = F[13,x]*F[94,x]
F[94,x] = F[23,x]+F[93,x]+F[95,x]
F[95,x] = F[96,x]
F[96,x] = F[13,x]*F[23,x]*F[97,x]
F[97,x] = F[30,x]+F[98,x]
F[98,x] = F[23,x]+F[36,x]
F[99,x] = F[100,x]*F[13,x]
F[100,x] = 1/F[13,x]*F[101,x]
F[101,x] = F[102,x]
F[102,x] = -F[107,x]-F[150,x]-F[90,x]+F[103,x]
F[103,x] = F[104,x]+F[117,x]+F[139,x]
F[104,x] = F[105,x]+F[107,x]+F[43,x]
F[105,x] = F[106,x]
F[106,x] = F[13,x]*F[89,x]
F[107,x] = F[108,x]
F[108,x] = F[109,x]*F[13,x]
F[109,x] = 1/F[13,x]*F[110,x]
F[110,x] = F[111,x]
F[111,x] = -F[115,x]+F[112,x]
F[112,x] = 1/F[13,x]*F[113,x]
F[113,x] = -F[1,x]-F[114,x]+F[3,x]
F[114,x] = F[13,x]*F[86,x]
F[115,x] = 1/F[13,x]*F[116,x]
F[116,x] = -F[1,x]+F[9,x]
F[117,x] = F[118,x]
F[118,x] = F[119,x]*F[13,x]
F[119,x] = F[120,x]+F[137,x]
F[120,x] = 1/F[13,x]*F[121,x]
F[121,x] = -F[131,x]-F[132,x]+F[122,x]
F[122,x] = F[123,x]+F[127,x]
F[123,x] = 1/F[13,x]*F[124,x]
F[124,x] = -F[9,x]+F[125,x]
F[125,x] = F[126,x]+F[9,x]
F[126,x] = F[13,x]*F[48,x]
F[127,x] = F[128,x]*F[13,x]
F[128,x] = F[122,x]+F[129,x]
F[129,x] = F[130,x]
F[130,x] = F[29,x]^2*F[13,x]*F[23,x]
F[131,x] = F[23,x]*F[9,x]
F[132,x] = F[133,x]
F[133,x] = F[13,x]*F[134,x]*F[23,x]
F[134,x] = F[123,x]+F[135,x]
F[135,x] = F[136,x]
F[136,x] = F[23,x]^2*F[13,x]*F[29,x]
F[137,x] = F[138,x]
F[138,x] = F[23,x]^2*F[98,x]^2*F[13,x]
F[139,x] = F[13,x]*F[140,x]
F[140,x] = F[141,x]+F[144,x]+F[149,x]
F[141,x] = F[142,x]
F[142,x] = F[123,x]+F[143,x]
F[143,x] = F[13,x]*F[23,x]*F[48,x]
F[144,x] = F[145,x]
F[145,x] = F[13,x]*F[146,x]*F[23,x]
F[146,x] = F[147,x]+F[148,x]
F[147,x] = F[98,x]^2
F[148,x] = F[23,x]*F[30,x]
F[149,x] = F[13,x]*F[140,x]
F[150,x] = F[13,x]*F[151,x]
F[151,x] = F[152,x]+F[165,x]+F[178,x]+F[179,x]
F[152,x] = F[153,x]+F[29,x]
F[153,x] = F[154,x]+F[158,x]
F[154,x] = F[155,x]+F[24,x]
F[155,x] = F[156,x]
F[156,x] = F[13,x]*F[157,x]
F[157,x] = F[155,x]+F[24,x]
F[158,x] = F[159,x]+F[162,x]
F[159,x] = F[160,x]
F[160,x] = F[13,x]*F[161,x]
F[161,x] = F[159,x]+F[24,x]
F[162,x] = F[163,x]
F[163,x] = F[13,x]*F[164,x]
F[164,x] = F[155,x]+F[162,x]
F[165,x] = F[13,x]*F[166,x]
F[166,x] = F[167,x]+F[173,x]
F[167,x] = F[168,x]
F[168,x] = F[23,x]^2*F[169,x]
F[169,x] = F[170,x]+F[172,x]+F[23,x]
F[170,x] = F[171,x]
F[171,x] = F[13,x]*F[169,x]*F[23,x]
F[172,x] = F[13,x]*F[169,x]
F[173,x] = F[174,x]
F[174,x] = F[13,x]*F[175,x]*F[23,x]
F[175,x] = F[176,x]+F[177,x]
F[176,x] = F[23,x]^2*F[169,x]
F[177,x] = F[29,x]*F[34,x]
F[178,x] = F[13,x]*F[151,x]
F[179,x] = F[180,x]
F[180,x] = F[23,x]^2*F[13,x]*F[98,x]
F[181,x] = F[13,x]*F[182,x]
F[182,x] = F[183,x]+F[184,x]+F[186,x]
F[183,x] = F[23,x]^2
F[184,x] = F[185,x]
F[185,x] = F[23,x]^2*F[13,x]*F[97,x]
F[186,x] = F[187,x]
F[187,x] = F[13,x]*F[188,x]
F[188,x] = F[182,x]+F[189,x]
F[189,x] = F[190,x]
F[190,x] = F[29,x]^2*F[13,x]*F[23,x]
F[191,x] = F[13,x]*F[192,x]
F[192,x] = 1/F[13,x]*F[193,x]
F[193,x] = -F[1,x]-F[194,x]-F[42,x]+F[5,x]
F[194,x] = F[13,x]*F[67,x]
F[195,x] = F[196,x]
F[196,x] = F[13,x]*F[197,x]
F[197,x] = 1/F[13,x]*F[198,x]
F[198,x] = F[199,x]
F[199,x] = -F[29,x]+F[200,x]
F[200,x] = F[201,x]+F[29,x]
F[201,x] = F[202,x]+F[30,x]
F[202,x] = F[203,x]+F[31,x]
F[203,x] = F[204,x]+F[215,x]+F[217,x]+F[32,x]
F[204,x] = F[13,x]*F[205,x]
F[205,x] = F[206,x]+F[31,x]
F[206,x] = F[204,x]+F[207,x]+F[212,x]+F[32,x]
F[207,x] = F[13,x]*F[208,x]
F[208,x] = F[155,x]+F[209,x]
F[209,x] = 2*F[32,x]+F[207,x]+F[210,x]
F[210,x] = F[13,x]*F[211,x]
F[211,x] = F[209,x]+F[31,x]
F[212,x] = F[13,x]*F[213,x]
F[213,x] = F[159,x]+F[214,x]
F[214,x] = 2*F[32,x]+F[163,x]+F[212,x]
F[215,x] = F[13,x]*F[216,x]
F[216,x] = F[203,x]+F[31,x]
F[217,x] = F[13,x]*F[218,x]
F[218,x] = F[159,x]+F[219,x]
F[219,x] = 2*F[32,x]+F[217,x]+F[220,x]
F[220,x] = F[13,x]*F[221,x]
F[221,x] = F[219,x]+F[31,x]
F[222,x] = -F[223,x]-F[29,x]+F[56,x]
F[223,x] = F[224,x]
F[224,x] = F[29,x]^2*F[13,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{13}\! \left(x \right) F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{1}\! \left(x \right)+F_{4}\! \left(x \right)+F_{77}\! \left(x \right)
F_{4}\! \left(x \right) = F_{13}\! \left(x \right) F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{46}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{1}\! \left(x \right)+F_{42}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{41}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{21}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{1}\! \left(x \right)+F_{10}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right) F_{13}\! \left(x \right)
F_{11}\! \left(x \right) = F_{1}\! \left(x \right)+F_{12}\! \left(x \right)+F_{14}\! \left(x \right)
F_{12}\! \left(x \right) = F_{11}\! \left(x \right) F_{13}\! \left(x \right)
F_{13}\! \left(x \right) = x
F_{14}\! \left(x \right) = F_{13}\! \left(x \right) F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x , 1\right)
F_{16}\! \left(x , y\right) = \frac{F_{17}\! \left(x , y\right) y -F_{17}\! \left(x , 1\right)}{-1+y}
F_{17}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{18}\! \left(x , y\right)+F_{20}\! \left(x , y\right)
F_{18}\! \left(x , y\right) = F_{17}\! \left(x , y\right) F_{19}\! \left(x , y\right)
F_{19}\! \left(x , y\right) = y x
F_{20}\! \left(x , y\right) = F_{13}\! \left(x \right) F_{16}\! \left(x , y\right)
F_{21}\! \left(x \right) = F_{13}\! \left(x \right) F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{21}\! \left(x \right)+F_{23}\! \left(x \right)+F_{26}\! \left(x \right)
F_{23}\! \left(x \right) = F_{1}\! \left(x \right)+F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{13}\! \left(x \right) F_{23}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{13}\! \left(x \right) F_{23}\! \left(x \right) F_{28}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)+F_{36}\! \left(x \right)
F_{29}\! \left(x \right) = F_{23}\! \left(x \right)+F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{24}\! \left(x \right)+F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)+F_{33}\! \left(x \right)+F_{35}\! \left(x \right)
F_{32}\! \left(x \right) = 0
F_{33}\! \left(x \right) = F_{13}\! \left(x \right) F_{34}\! \left(x \right)
F_{34}\! \left(x \right) = F_{24}\! \left(x \right)+F_{31}\! \left(x \right)
F_{35}\! \left(x \right) = F_{13}\! \left(x \right) F_{30}\! \left(x \right)
F_{36}\! \left(x \right) = F_{24}\! \left(x \right)+F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{32}\! \left(x \right)+F_{38}\! \left(x \right)+F_{40}\! \left(x \right)
F_{38}\! \left(x \right) = F_{13}\! \left(x \right) F_{39}\! \left(x \right)
F_{39}\! \left(x \right) = F_{24}\! \left(x \right)+F_{37}\! \left(x \right)
F_{40}\! \left(x \right) = F_{13}\! \left(x \right) F_{36}\! \left(x \right)
F_{41}\! \left(x \right) = F_{13}\! \left(x \right) F_{29}\! \left(x \right)
F_{42}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{45}\! \left(x \right)+F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = \frac{F_{44}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{44}\! \left(x \right) = -F_{1}\! \left(x \right)+F_{9}\! \left(x \right)
F_{45}\! \left(x \right) = F_{13}\! \left(x \right) F_{29}\! \left(x \right)
F_{46}\! \left(x \right) = F_{13}\! \left(x \right) F_{47}\! \left(x \right)
F_{47}\! \left(x \right) = F_{48}\! \left(x \right)+F_{50}\! \left(x \right)
F_{48}\! \left(x \right) = \frac{F_{49}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{49}\! \left(x \right) = -F_{9}\! \left(x \right)+F_{43}\! \left(x \right)
F_{50}\! \left(x \right) = F_{13}\! \left(x \right) F_{51}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)+F_{71}\! \left(x \right)+F_{72}\! \left(x \right)
F_{52}\! \left(x \right) = F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = F_{43}\! \left(x \right)+F_{54}\! \left(x \right)+F_{55}\! \left(x \right)
F_{54}\! \left(x \right) = F_{13}\! \left(x \right) F_{53}\! \left(x \right)
F_{55}\! \left(x \right) = F_{13}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = \frac{F_{57}\! \left(x \right)}{F_{13}\! \left(x \right) F_{23}\! \left(x \right)}
F_{57}\! \left(x \right) = F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = -F_{67}\! \left(x \right)+F_{59}\! \left(x \right)
F_{59}\! \left(x \right) = F_{60}\! \left(x \right)+F_{63}\! \left(x \right)
F_{60}\! \left(x \right) = \frac{F_{61}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{61}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{62}\! \left(x \right)+F_{43}\! \left(x \right)
F_{62}\! \left(x \right) = F_{13}\! \left(x \right) F_{43}\! \left(x \right)
F_{63}\! \left(x \right) = F_{64}\! \left(x \right)
F_{64}\! \left(x \right) = F_{13}\! \left(x \right) F_{65}\! \left(x \right)
F_{65}\! \left(x \right) = F_{60}\! \left(x \right)+F_{64}\! \left(x \right)+F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{29} \left(x \right)^{2} F_{13}\! \left(x \right)
F_{67}\! \left(x \right) = F_{1}\! \left(x \right)+F_{68}\! \left(x \right)+F_{69}\! \left(x \right)+F_{70}\! \left(x \right)
F_{68}\! \left(x \right) = F_{13}\! \left(x \right) F_{29}\! \left(x \right)
F_{69}\! \left(x \right) = F_{13}\! \left(x \right) F_{67}\! \left(x \right)
F_{70}\! \left(x \right) = F_{13}\! \left(x \right) F_{59}\! \left(x \right)
F_{71}\! \left(x \right) = F_{13}\! \left(x \right) F_{51}\! \left(x \right)
F_{72}\! \left(x \right) = F_{73}\! \left(x \right)
F_{73}\! \left(x \right) = F_{13}\! \left(x \right) F_{23}\! \left(x \right) F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{75}\! \left(x \right)+F_{76}\! \left(x \right)
F_{75}\! \left(x \right) = F_{29} \left(x \right)^{2}
F_{76}\! \left(x \right) = F_{23}\! \left(x \right) F_{39}\! \left(x \right)
F_{77}\! \left(x \right) = F_{13}\! \left(x \right) F_{78}\! \left(x \right)
F_{78}\! \left(x \right) = F_{3}\! \left(x \right)+F_{79}\! \left(x \right)
F_{79}\! \left(x \right) = F_{13}\! \left(x \right) F_{80}\! \left(x \right)
F_{80}\! \left(x \right) = F_{195}\! \left(x \right)+F_{222}\! \left(x \right)+F_{29}\! \left(x \right)+F_{81}\! \left(x \right)
F_{81}\! \left(x \right) = F_{13}\! \left(x \right) F_{82}\! \left(x \right)
F_{82}\! \left(x \right) = \frac{F_{83}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{83}\! \left(x \right) = -F_{86}\! \left(x \right)+F_{84}\! \left(x \right)
F_{84}\! \left(x \right) = \frac{F_{85}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{85}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{191}\! \left(x \right)-F_{69}\! \left(x \right)+F_{86}\! \left(x \right)
F_{86}\! \left(x \right) = F_{43}\! \left(x \right)+F_{87}\! \left(x \right)
F_{87}\! \left(x \right) = F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = F_{13}\! \left(x \right) F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = F_{178}\! \left(x \right)+F_{181}\! \left(x \right)+F_{90}\! \left(x \right)+F_{99}\! \left(x \right)
F_{90}\! \left(x \right) = \frac{F_{91}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{91}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{68}\! \left(x \right)+F_{92}\! \left(x \right)
F_{92}\! \left(x \right) = F_{9}\! \left(x \right)+F_{93}\! \left(x \right)
F_{93}\! \left(x \right) = F_{13}\! \left(x \right) F_{94}\! \left(x \right)
F_{94}\! \left(x \right) = F_{23}\! \left(x \right)+F_{93}\! \left(x \right)+F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = F_{96}\! \left(x \right)
F_{96}\! \left(x \right) = F_{13}\! \left(x \right) F_{23}\! \left(x \right) F_{97}\! \left(x \right)
F_{97}\! \left(x \right) = F_{30}\! \left(x \right)+F_{98}\! \left(x \right)
F_{98}\! \left(x \right) = F_{23}\! \left(x \right)+F_{36}\! \left(x \right)
F_{99}\! \left(x \right) = F_{100}\! \left(x \right) F_{13}\! \left(x \right)
F_{100}\! \left(x \right) = \frac{F_{101}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{101}\! \left(x \right) = F_{102}\! \left(x \right)
F_{102}\! \left(x \right) = -F_{107}\! \left(x \right)-F_{150}\! \left(x \right)-F_{90}\! \left(x \right)+F_{103}\! \left(x \right)
F_{103}\! \left(x \right) = F_{104}\! \left(x \right)+F_{117}\! \left(x \right)+F_{139}\! \left(x \right)
F_{104}\! \left(x \right) = F_{105}\! \left(x \right)+F_{107}\! \left(x \right)+F_{43}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right)
F_{106}\! \left(x \right) = F_{13}\! \left(x \right) F_{89}\! \left(x \right)
F_{107}\! \left(x \right) = F_{108}\! \left(x \right)
F_{108}\! \left(x \right) = F_{109}\! \left(x \right) F_{13}\! \left(x \right)
F_{109}\! \left(x \right) = \frac{F_{110}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{110}\! \left(x \right) = F_{111}\! \left(x \right)
F_{111}\! \left(x \right) = -F_{115}\! \left(x \right)+F_{112}\! \left(x \right)
F_{112}\! \left(x \right) = \frac{F_{113}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{113}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{114}\! \left(x \right)+F_{3}\! \left(x \right)
F_{114}\! \left(x \right) = F_{13}\! \left(x \right) F_{86}\! \left(x \right)
F_{115}\! \left(x \right) = \frac{F_{116}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{116}\! \left(x \right) = -F_{1}\! \left(x \right)+F_{9}\! \left(x \right)
F_{117}\! \left(x \right) = F_{118}\! \left(x \right)
F_{118}\! \left(x \right) = F_{119}\! \left(x \right) F_{13}\! \left(x \right)
F_{119}\! \left(x \right) = F_{120}\! \left(x \right)+F_{137}\! \left(x \right)
F_{120}\! \left(x \right) = \frac{F_{121}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{121}\! \left(x \right) = -F_{131}\! \left(x \right)-F_{132}\! \left(x \right)+F_{122}\! \left(x \right)
F_{122}\! \left(x \right) = F_{123}\! \left(x \right)+F_{127}\! \left(x \right)
F_{123}\! \left(x \right) = \frac{F_{124}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{124}\! \left(x \right) = -F_{9}\! \left(x \right)+F_{125}\! \left(x \right)
F_{125}\! \left(x \right) = F_{126}\! \left(x \right)+F_{9}\! \left(x \right)
F_{126}\! \left(x \right) = F_{13}\! \left(x \right) F_{48}\! \left(x \right)
F_{127}\! \left(x \right) = F_{128}\! \left(x \right) F_{13}\! \left(x \right)
F_{128}\! \left(x \right) = F_{122}\! \left(x \right)+F_{129}\! \left(x \right)
F_{129}\! \left(x \right) = F_{130}\! \left(x \right)
F_{130}\! \left(x \right) = F_{29} \left(x \right)^{2} F_{13}\! \left(x \right) F_{23}\! \left(x \right)
F_{131}\! \left(x \right) = F_{23}\! \left(x \right) F_{9}\! \left(x \right)
F_{132}\! \left(x \right) = F_{133}\! \left(x \right)
F_{133}\! \left(x \right) = F_{13}\! \left(x \right) F_{134}\! \left(x \right) F_{23}\! \left(x \right)
F_{134}\! \left(x \right) = F_{123}\! \left(x \right)+F_{135}\! \left(x \right)
F_{135}\! \left(x \right) = F_{136}\! \left(x \right)
F_{136}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{13}\! \left(x \right) F_{29}\! \left(x \right)
F_{137}\! \left(x \right) = F_{138}\! \left(x \right)
F_{138}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{98} \left(x \right)^{2} F_{13}\! \left(x \right)
F_{139}\! \left(x \right) = F_{13}\! \left(x \right) F_{140}\! \left(x \right)
F_{140}\! \left(x \right) = F_{141}\! \left(x \right)+F_{144}\! \left(x \right)+F_{149}\! \left(x \right)
F_{141}\! \left(x \right) = F_{142}\! \left(x \right)
F_{142}\! \left(x \right) = F_{123}\! \left(x \right)+F_{143}\! \left(x \right)
F_{143}\! \left(x \right) = F_{13}\! \left(x \right) F_{23}\! \left(x \right) F_{48}\! \left(x \right)
F_{144}\! \left(x \right) = F_{145}\! \left(x \right)
F_{145}\! \left(x \right) = F_{13}\! \left(x \right) F_{146}\! \left(x \right) F_{23}\! \left(x \right)
F_{146}\! \left(x \right) = F_{147}\! \left(x \right)+F_{148}\! \left(x \right)
F_{147}\! \left(x \right) = F_{98} \left(x \right)^{2}
F_{148}\! \left(x \right) = F_{23}\! \left(x \right) F_{30}\! \left(x \right)
F_{149}\! \left(x \right) = F_{13}\! \left(x \right) F_{140}\! \left(x \right)
F_{150}\! \left(x \right) = F_{13}\! \left(x \right) F_{151}\! \left(x \right)
F_{151}\! \left(x \right) = F_{152}\! \left(x \right)+F_{165}\! \left(x \right)+F_{178}\! \left(x \right)+F_{179}\! \left(x \right)
F_{152}\! \left(x \right) = F_{153}\! \left(x \right)+F_{29}\! \left(x \right)
F_{153}\! \left(x \right) = F_{154}\! \left(x \right)+F_{158}\! \left(x \right)
F_{154}\! \left(x \right) = F_{155}\! \left(x \right)+F_{24}\! \left(x \right)
F_{155}\! \left(x \right) = F_{156}\! \left(x \right)
F_{156}\! \left(x \right) = F_{13}\! \left(x \right) F_{157}\! \left(x \right)
F_{157}\! \left(x \right) = F_{155}\! \left(x \right)+F_{24}\! \left(x \right)
F_{158}\! \left(x \right) = F_{159}\! \left(x \right)+F_{162}\! \left(x \right)
F_{159}\! \left(x \right) = F_{160}\! \left(x \right)
F_{160}\! \left(x \right) = F_{13}\! \left(x \right) F_{161}\! \left(x \right)
F_{161}\! \left(x \right) = F_{159}\! \left(x \right)+F_{24}\! \left(x \right)
F_{162}\! \left(x \right) = F_{163}\! \left(x \right)
F_{163}\! \left(x \right) = F_{13}\! \left(x \right) F_{164}\! \left(x \right)
F_{164}\! \left(x \right) = F_{155}\! \left(x \right)+F_{162}\! \left(x \right)
F_{165}\! \left(x \right) = F_{13}\! \left(x \right) F_{166}\! \left(x \right)
F_{166}\! \left(x \right) = F_{167}\! \left(x \right)+F_{173}\! \left(x \right)
F_{167}\! \left(x \right) = F_{168}\! \left(x \right)
F_{168}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{169}\! \left(x \right)
F_{169}\! \left(x \right) = F_{170}\! \left(x \right)+F_{172}\! \left(x \right)+F_{23}\! \left(x \right)
F_{170}\! \left(x \right) = F_{171}\! \left(x \right)
F_{171}\! \left(x \right) = F_{13}\! \left(x \right) F_{169}\! \left(x \right) F_{23}\! \left(x \right)
F_{172}\! \left(x \right) = F_{13}\! \left(x \right) F_{169}\! \left(x \right)
F_{173}\! \left(x \right) = F_{174}\! \left(x \right)
F_{174}\! \left(x \right) = F_{13}\! \left(x \right) F_{175}\! \left(x \right) F_{23}\! \left(x \right)
F_{175}\! \left(x \right) = F_{176}\! \left(x \right)+F_{177}\! \left(x \right)
F_{176}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{169}\! \left(x \right)
F_{177}\! \left(x \right) = F_{29}\! \left(x \right) F_{34}\! \left(x \right)
F_{178}\! \left(x \right) = F_{13}\! \left(x \right) F_{151}\! \left(x \right)
F_{179}\! \left(x \right) = F_{180}\! \left(x \right)
F_{180}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{13}\! \left(x \right) F_{98}\! \left(x \right)
F_{181}\! \left(x \right) = F_{13}\! \left(x \right) F_{182}\! \left(x \right)
F_{182}\! \left(x \right) = F_{183}\! \left(x \right)+F_{184}\! \left(x \right)+F_{186}\! \left(x \right)
F_{183}\! \left(x \right) = F_{23} \left(x \right)^{2}
F_{184}\! \left(x \right) = F_{185}\! \left(x \right)
F_{185}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{13}\! \left(x \right) F_{97}\! \left(x \right)
F_{186}\! \left(x \right) = F_{187}\! \left(x \right)
F_{187}\! \left(x \right) = F_{13}\! \left(x \right) F_{188}\! \left(x \right)
F_{188}\! \left(x \right) = F_{182}\! \left(x \right)+F_{189}\! \left(x \right)
F_{189}\! \left(x \right) = F_{190}\! \left(x \right)
F_{190}\! \left(x \right) = F_{29} \left(x \right)^{2} F_{13}\! \left(x \right) F_{23}\! \left(x \right)
F_{191}\! \left(x \right) = F_{13}\! \left(x \right) F_{192}\! \left(x \right)
F_{192}\! \left(x \right) = \frac{F_{193}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{193}\! \left(x \right) = -F_{1}\! \left(x \right)-F_{194}\! \left(x \right)-F_{42}\! \left(x \right)+F_{5}\! \left(x \right)
F_{194}\! \left(x \right) = F_{13}\! \left(x \right) F_{67}\! \left(x \right)
F_{195}\! \left(x \right) = F_{196}\! \left(x \right)
F_{196}\! \left(x \right) = F_{13}\! \left(x \right) F_{197}\! \left(x \right)
F_{197}\! \left(x \right) = \frac{F_{198}\! \left(x \right)}{F_{13}\! \left(x \right)}
F_{198}\! \left(x \right) = F_{199}\! \left(x \right)
F_{199}\! \left(x \right) = -F_{29}\! \left(x \right)+F_{200}\! \left(x \right)
F_{200}\! \left(x \right) = F_{201}\! \left(x \right)+F_{29}\! \left(x \right)
F_{201}\! \left(x \right) = F_{202}\! \left(x \right)+F_{30}\! \left(x \right)
F_{202}\! \left(x \right) = F_{203}\! \left(x \right)+F_{31}\! \left(x \right)
F_{203}\! \left(x \right) = F_{204}\! \left(x \right)+F_{215}\! \left(x \right)+F_{217}\! \left(x \right)+F_{32}\! \left(x \right)
F_{204}\! \left(x \right) = F_{13}\! \left(x \right) F_{205}\! \left(x \right)
F_{205}\! \left(x \right) = F_{206}\! \left(x \right)+F_{31}\! \left(x \right)
F_{206}\! \left(x \right) = F_{204}\! \left(x \right)+F_{207}\! \left(x \right)+F_{212}\! \left(x \right)+F_{32}\! \left(x \right)
F_{207}\! \left(x \right) = F_{13}\! \left(x \right) F_{208}\! \left(x \right)
F_{208}\! \left(x \right) = F_{155}\! \left(x \right)+F_{209}\! \left(x \right)
F_{209}\! \left(x \right) = 2 F_{32}\! \left(x \right)+F_{207}\! \left(x \right)+F_{210}\! \left(x \right)
F_{210}\! \left(x \right) = F_{13}\! \left(x \right) F_{211}\! \left(x \right)
F_{211}\! \left(x \right) = F_{209}\! \left(x \right)+F_{31}\! \left(x \right)
F_{212}\! \left(x \right) = F_{13}\! \left(x \right) F_{213}\! \left(x \right)
F_{213}\! \left(x \right) = F_{159}\! \left(x \right)+F_{214}\! \left(x \right)
F_{214}\! \left(x \right) = 2 F_{32}\! \left(x \right)+F_{163}\! \left(x \right)+F_{212}\! \left(x \right)
F_{215}\! \left(x \right) = F_{13}\! \left(x \right) F_{216}\! \left(x \right)
F_{216}\! \left(x \right) = F_{203}\! \left(x \right)+F_{31}\! \left(x \right)
F_{217}\! \left(x \right) = F_{13}\! \left(x \right) F_{218}\! \left(x \right)
F_{218}\! \left(x \right) = F_{159}\! \left(x \right)+F_{219}\! \left(x \right)
F_{219}\! \left(x \right) = 2 F_{32}\! \left(x \right)+F_{217}\! \left(x \right)+F_{220}\! \left(x \right)
F_{220}\! \left(x \right) = F_{13}\! \left(x \right) F_{221}\! \left(x \right)
F_{221}\! \left(x \right) = F_{219}\! \left(x \right)+F_{31}\! \left(x \right)
F_{222}\! \left(x \right) = -F_{223}\! \left(x \right)-F_{29}\! \left(x \right)+F_{56}\! \left(x \right)
F_{223}\! \left(x \right) = F_{224}\! \left(x \right)
F_{224}\! \left(x \right) = F_{29} \left(x \right)^{2} F_{13}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_13(x)*F_3(x))
Eq(F_3(x), F_1(x) + F_4(x) + F_77(x))
Eq(F_4(x), F_13(x)*F_5(x))
Eq(F_5(x), F_46(x) + F_6(x))
Eq(F_6(x), F_1(x) + F_42(x) + F_7(x))
Eq(F_7(x), -F_1(x) - F_41(x) + F_8(x))
Eq(F_8(x), F_21(x) + F_9(x))
Eq(F_9(x), F_1(x) + F_10(x))
Eq(F_10(x), F_11(x)*F_13(x))
Eq(F_11(x), F_1(x) + F_12(x) + F_14(x))
Eq(F_12(x), F_11(x)*F_13(x))
Eq(F_13(x), x)
Eq(F_14(x), F_13(x)*F_15(x))
Eq(F_15(x), F_16(x, 1))
Eq(F_16(x, k_0), (-k_0*F_17(x, k_0) + F_17(x, 1))/(1 - k_0))
Eq(F_17(x, k_0), F_1(x) + F_18(x, k_0) + F_20(x, k_0))
Eq(F_18(x, k_0), F_17(x, k_0)*F_19(x, k_0))
Eq(F_19(x, k_0), k_0*x)
Eq(F_20(x, k_0), F_13(x)*F_16(x, k_0))
Eq(F_21(x), F_13(x)*F_22(x))
Eq(F_22(x), F_21(x) + F_23(x) + F_26(x))
Eq(F_23(x), F_1(x) + F_24(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_13(x)*F_23(x))
Eq(F_26(x), F_27(x))
Eq(F_27(x), F_13(x)*F_23(x)*F_28(x))
Eq(F_28(x), F_29(x) + F_36(x))
Eq(F_29(x), F_23(x) + F_30(x))
Eq(F_30(x), F_24(x) + F_31(x))
Eq(F_31(x), F_32(x) + F_33(x) + F_35(x))
Eq(F_32(x), 0)
Eq(F_33(x), F_13(x)*F_34(x))
Eq(F_34(x), F_24(x) + F_31(x))
Eq(F_35(x), F_13(x)*F_30(x))
Eq(F_36(x), F_24(x) + F_37(x))
Eq(F_37(x), F_32(x) + F_38(x) + F_40(x))
Eq(F_38(x), F_13(x)*F_39(x))
Eq(F_39(x), F_24(x) + F_37(x))
Eq(F_40(x), F_13(x)*F_36(x))
Eq(F_41(x), F_13(x)*F_29(x))
Eq(F_42(x), -F_1(x) + F_43(x) - F_45(x))
Eq(F_43(x), F_44(x)/F_13(x))
Eq(F_44(x), -F_1(x) + F_9(x))
Eq(F_45(x), F_13(x)*F_29(x))
Eq(F_46(x), F_13(x)*F_47(x))
Eq(F_47(x), F_48(x) + F_50(x))
Eq(F_48(x), F_49(x)/F_13(x))
Eq(F_49(x), F_43(x) - F_9(x))
Eq(F_50(x), F_13(x)*F_51(x))
Eq(F_51(x), F_52(x) + F_71(x) + F_72(x))
Eq(F_52(x), F_53(x))
Eq(F_53(x), F_43(x) + F_54(x) + F_55(x))
Eq(F_54(x), F_13(x)*F_53(x))
Eq(F_55(x), F_13(x)*F_56(x))
Eq(F_56(x), F_57(x)/(F_13(x)*F_23(x)))
Eq(F_57(x), F_58(x))
Eq(F_58(x), F_59(x) - F_67(x))
Eq(F_59(x), F_60(x) + F_63(x))
Eq(F_60(x), F_61(x)/F_13(x))
Eq(F_61(x), -F_1(x) + F_43(x) - F_62(x))
Eq(F_62(x), F_13(x)*F_43(x))
Eq(F_63(x), F_64(x))
Eq(F_64(x), F_13(x)*F_65(x))
Eq(F_65(x), F_60(x) + F_64(x) + F_66(x))
Eq(F_66(x), F_13(x)*F_29(x)**2)
Eq(F_67(x), F_1(x) + F_68(x) + F_69(x) + F_70(x))
Eq(F_68(x), F_13(x)*F_29(x))
Eq(F_69(x), F_13(x)*F_67(x))
Eq(F_70(x), F_13(x)*F_59(x))
Eq(F_71(x), F_13(x)*F_51(x))
Eq(F_72(x), F_73(x))
Eq(F_73(x), F_13(x)*F_23(x)*F_74(x))
Eq(F_74(x), F_75(x) + F_76(x))
Eq(F_75(x), F_29(x)**2)
Eq(F_76(x), F_23(x)*F_39(x))
Eq(F_77(x), F_13(x)*F_78(x))
Eq(F_78(x), F_3(x) + F_79(x))
Eq(F_79(x), F_13(x)*F_80(x))
Eq(F_80(x), F_195(x) + F_222(x) + F_29(x) + F_81(x))
Eq(F_81(x), F_13(x)*F_82(x))
Eq(F_82(x), F_83(x)/F_13(x))
Eq(F_83(x), F_84(x) - F_86(x))
Eq(F_84(x), F_85(x)/F_13(x))
Eq(F_85(x), -F_1(x) - F_191(x) - F_69(x) + F_86(x))
Eq(F_86(x), F_43(x) + F_87(x))
Eq(F_87(x), F_88(x))
Eq(F_88(x), F_13(x)*F_89(x))
Eq(F_89(x), F_178(x) + F_181(x) + F_90(x) + F_99(x))
Eq(F_90(x), F_91(x)/F_13(x))
Eq(F_91(x), -F_1(x) - F_68(x) + F_92(x))
Eq(F_92(x), F_9(x) + F_93(x))
Eq(F_93(x), F_13(x)*F_94(x))
Eq(F_94(x), F_23(x) + F_93(x) + F_95(x))
Eq(F_95(x), F_96(x))
Eq(F_96(x), F_13(x)*F_23(x)*F_97(x))
Eq(F_97(x), F_30(x) + F_98(x))
Eq(F_98(x), F_23(x) + F_36(x))
Eq(F_99(x), F_100(x)*F_13(x))
Eq(F_100(x), F_101(x)/F_13(x))
Eq(F_101(x), F_102(x))
Eq(F_102(x), F_103(x) - F_107(x) - F_150(x) - F_90(x))
Eq(F_103(x), F_104(x) + F_117(x) + F_139(x))
Eq(F_104(x), F_105(x) + F_107(x) + F_43(x))
Eq(F_105(x), F_106(x))
Eq(F_106(x), F_13(x)*F_89(x))
Eq(F_107(x), F_108(x))
Eq(F_108(x), F_109(x)*F_13(x))
Eq(F_109(x), F_110(x)/F_13(x))
Eq(F_110(x), F_111(x))
Eq(F_111(x), F_112(x) - F_115(x))
Eq(F_112(x), F_113(x)/F_13(x))
Eq(F_113(x), -F_1(x) - F_114(x) + F_3(x))
Eq(F_114(x), F_13(x)*F_86(x))
Eq(F_115(x), F_116(x)/F_13(x))
Eq(F_116(x), -F_1(x) + F_9(x))
Eq(F_117(x), F_118(x))
Eq(F_118(x), F_119(x)*F_13(x))
Eq(F_119(x), F_120(x) + F_137(x))
Eq(F_120(x), F_121(x)/F_13(x))
Eq(F_121(x), F_122(x) - F_131(x) - F_132(x))
Eq(F_122(x), F_123(x) + F_127(x))
Eq(F_123(x), F_124(x)/F_13(x))
Eq(F_124(x), F_125(x) - F_9(x))
Eq(F_125(x), F_126(x) + F_9(x))
Eq(F_126(x), F_13(x)*F_48(x))
Eq(F_127(x), F_128(x)*F_13(x))
Eq(F_128(x), F_122(x) + F_129(x))
Eq(F_129(x), F_130(x))
Eq(F_130(x), F_13(x)*F_23(x)*F_29(x)**2)
Eq(F_131(x), F_23(x)*F_9(x))
Eq(F_132(x), F_133(x))
Eq(F_133(x), F_13(x)*F_134(x)*F_23(x))
Eq(F_134(x), F_123(x) + F_135(x))
Eq(F_135(x), F_136(x))
Eq(F_136(x), F_13(x)*F_23(x)**2*F_29(x))
Eq(F_137(x), F_138(x))
Eq(F_138(x), F_13(x)*F_23(x)**2*F_98(x)**2)
Eq(F_139(x), F_13(x)*F_140(x))
Eq(F_140(x), F_141(x) + F_144(x) + F_149(x))
Eq(F_141(x), F_142(x))
Eq(F_142(x), F_123(x) + F_143(x))
Eq(F_143(x), F_13(x)*F_23(x)*F_48(x))
Eq(F_144(x), F_145(x))
Eq(F_145(x), F_13(x)*F_146(x)*F_23(x))
Eq(F_146(x), F_147(x) + F_148(x))
Eq(F_147(x), F_98(x)**2)
Eq(F_148(x), F_23(x)*F_30(x))
Eq(F_149(x), F_13(x)*F_140(x))
Eq(F_150(x), F_13(x)*F_151(x))
Eq(F_151(x), F_152(x) + F_165(x) + F_178(x) + F_179(x))
Eq(F_152(x), F_153(x) + F_29(x))
Eq(F_153(x), F_154(x) + F_158(x))
Eq(F_154(x), F_155(x) + F_24(x))
Eq(F_155(x), F_156(x))
Eq(F_156(x), F_13(x)*F_157(x))
Eq(F_157(x), F_155(x) + F_24(x))
Eq(F_158(x), F_159(x) + F_162(x))
Eq(F_159(x), F_160(x))
Eq(F_160(x), F_13(x)*F_161(x))
Eq(F_161(x), F_159(x) + F_24(x))
Eq(F_162(x), F_163(x))
Eq(F_163(x), F_13(x)*F_164(x))
Eq(F_164(x), F_155(x) + F_162(x))
Eq(F_165(x), F_13(x)*F_166(x))
Eq(F_166(x), F_167(x) + F_173(x))
Eq(F_167(x), F_168(x))
Eq(F_168(x), F_169(x)*F_23(x)**2)
Eq(F_169(x), F_170(x) + F_172(x) + F_23(x))
Eq(F_170(x), F_171(x))
Eq(F_171(x), F_13(x)*F_169(x)*F_23(x))
Eq(F_172(x), F_13(x)*F_169(x))
Eq(F_173(x), F_174(x))
Eq(F_174(x), F_13(x)*F_175(x)*F_23(x))
Eq(F_175(x), F_176(x) + F_177(x))
Eq(F_176(x), F_169(x)*F_23(x)**2)
Eq(F_177(x), F_29(x)*F_34(x))
Eq(F_178(x), F_13(x)*F_151(x))
Eq(F_179(x), F_180(x))
Eq(F_180(x), F_13(x)*F_23(x)**2*F_98(x))
Eq(F_181(x), F_13(x)*F_182(x))
Eq(F_182(x), F_183(x) + F_184(x) + F_186(x))
Eq(F_183(x), F_23(x)**2)
Eq(F_184(x), F_185(x))
Eq(F_185(x), F_13(x)*F_23(x)**2*F_97(x))
Eq(F_186(x), F_187(x))
Eq(F_187(x), F_13(x)*F_188(x))
Eq(F_188(x), F_182(x) + F_189(x))
Eq(F_189(x), F_190(x))
Eq(F_190(x), F_13(x)*F_23(x)*F_29(x)**2)
Eq(F_191(x), F_13(x)*F_192(x))
Eq(F_192(x), F_193(x)/F_13(x))
Eq(F_193(x), -F_1(x) - F_194(x) - F_42(x) + F_5(x))
Eq(F_194(x), F_13(x)*F_67(x))
Eq(F_195(x), F_196(x))
Eq(F_196(x), F_13(x)*F_197(x))
Eq(F_197(x), F_198(x)/F_13(x))
Eq(F_198(x), F_199(x))
Eq(F_199(x), F_200(x) - F_29(x))
Eq(F_200(x), F_201(x) + F_29(x))
Eq(F_201(x), F_202(x) + F_30(x))
Eq(F_202(x), F_203(x) + F_31(x))
Eq(F_203(x), F_204(x) + F_215(x) + F_217(x) + F_32(x))
Eq(F_204(x), F_13(x)*F_205(x))
Eq(F_205(x), F_206(x) + F_31(x))
Eq(F_206(x), F_204(x) + F_207(x) + F_212(x) + F_32(x))
Eq(F_207(x), F_13(x)*F_208(x))
Eq(F_208(x), F_155(x) + F_209(x))
Eq(F_209(x), F_207(x) + F_210(x) + 2*F_32(x))
Eq(F_210(x), F_13(x)*F_211(x))
Eq(F_211(x), F_209(x) + F_31(x))
Eq(F_212(x), F_13(x)*F_213(x))
Eq(F_213(x), F_159(x) + F_214(x))
Eq(F_214(x), F_163(x) + F_212(x) + 2*F_32(x))
Eq(F_215(x), F_13(x)*F_216(x))
Eq(F_216(x), F_203(x) + F_31(x))
Eq(F_217(x), F_13(x)*F_218(x))
Eq(F_218(x), F_159(x) + F_219(x))
Eq(F_219(x), F_217(x) + F_220(x) + 2*F_32(x))
Eq(F_220(x), F_13(x)*F_221(x))
Eq(F_221(x), F_219(x) + F_31(x))
Eq(F_222(x), -F_223(x) - F_29(x) + F_56(x))
Eq(F_223(x), F_224(x))
Eq(F_224(x), F_13(x)*F_29(x)**2)
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": true, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}, {"class_module": "tilings.strategies.requirement_insertion", "ignore_parent": true, "strategy_class": "RequirementCorroborationFactory"}], "iterative": false, "name": "row_and_col_placements_req_corrob_expand_verified", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 1], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 1], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, "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], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "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": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "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": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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}}, "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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": 3, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 4], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 4], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 4], [0, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 4], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 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, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 4], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 4], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 4], [0, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 4], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [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, 1], [0, 2], [0, 4]], [[1, 3]]], "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}, {"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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 2], [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": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 1], [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, 3]]}, {"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, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 2], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [0, 4], [2, 2], [2, 3]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 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": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 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": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2]], [[1, 0]]], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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], [2, 0]], [[1, 1]]], "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], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}], "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3]], [[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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 1]]}], "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, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "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], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 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": [[0, 2]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [0, 4], [2, 0], [2, 1], [2, 4]], [[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]]}], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 3], [1, 4], [3, 1], [3, 4]], [[2, 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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 3], [2, 0]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 2], [0, 4], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 5], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 3], [0, 5], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [0, 5], [2, 0], [2, 4]], [[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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [3, 3], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [2, 2], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [3, 3], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1], [3, 3]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 1], [1, 1], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 1], [1, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "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": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 4], [1, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 4], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 4], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 4], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 4], [1, 4]]}], "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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 5]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 5], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 5], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 5], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 5], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [2, 5], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [1, 1], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 1], [1, 1], [2, 5], [2, 5]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 5], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 5], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 5], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 5], [1, 1], [1, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 4], [1, 5], [2, 0], [2, 1], [2, 3], [2, 5]]], "strategy_class": "FactorStrategy", "workable": true}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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": [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 3], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [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], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [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], [0, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 3], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [1, 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], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 3]]}], "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], [0, 4]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "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]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 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": [[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, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 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, 3], [0, 4], [2, 1], [2, 2], [2, 4]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 0], [1, 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, 3], [1, 4], [2, 0], [2, 2], [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, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 1], [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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 0], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 4], [2, 1], [2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "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": [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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 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": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "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]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 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, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[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, 1], [0, 2], [0, 4]], [[1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 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], [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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[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, 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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [2, 3]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, {"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 3], [0, 3], [2, 0]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 3], [0, 3], [2, 0]]}], "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], [2, 0], [2, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": []}, {"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": [[1, 4]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 5]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 5], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [2, 5], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [0, 2], [0, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 5], [2, 5]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 5], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 5], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 5], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 5], [0, 2], [0, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 4], [1, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 4], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 4], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 4], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 4], [1, 4]]}], "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, 3]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 5]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 5], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [2, 5], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [0, 2], [0, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 5], [2, 5]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 5], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 5], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 5], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 5], [0, 2], [0, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [0, 4], [0, 5], [2, 0], [2, 2], [2, 3], [2, 5]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [0, 4], [2, 0], [2, 1], [2, 4]], [[1, 2]]], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [2, 1], [2, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": []}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}], "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": [[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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 2], [2, 4], [2, 5]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [3, 3]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 1], [1, 3], [3, 1], [3, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "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": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 3], [1, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0], [1, 3], [3, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [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]]}]]}, {"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": [[0, 4]]}, {"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], "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, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [1, 1], [1, 4]], [[2, 0]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 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": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [3, 3], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [3, 3]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [1, 4], [2, 0], [2, 2], [2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [2, 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, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [1, 1], [1, 2], [1, 3], [3, 3]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [3, 2], [3, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [4, 3], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [4, 3], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [4, 3], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 3], [3, 2], [4, 1], [4, 3]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 2], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [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, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 2], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [1, 2], [3, 1], [3, 3]], [[2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 5], [2, 5]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 5], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 5], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [2, 0], [2, 2], [2, 3], [2, 5]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 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, 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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [2, 3], [3, 2], [3, 3]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 1], [1, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [1, 4], [2, 0], [2, 2], [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, 0]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 2], [0, 4], [1, 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, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 0]]}, {"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, 5]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 5], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 2], [1, 5], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 1], [1, 2], [1, 5], [2, 0], [2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [2, 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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0], [1, 1], [1, 3], [2, 3]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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], [1, 3]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [1, 0], [1, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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": [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [1, 3]], [[2, 2]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[1, 5], [3, 5]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 5], [3, 5]]}, {"patt": [1, 0], "pos": [[1, 5], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 5], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 5], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 5], [3, 1]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 5], [2, 5]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 5], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 5], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, {"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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": []}, {"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": [[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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 2]]}], "requirements": []}, {"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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 2], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [2, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}], "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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [2, 2], [2, 0]]}], "requirements": []}, {"assumptions": [], "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, 3]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 4]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [3, 2], [3, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 1], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 1], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"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], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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, 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, 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], "pos": [[2, 4]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 5], [3, 5]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 4]], [[1, 3]], [[2, 2]], [[3, 1], [3, 5]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"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], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [1, 4]], [[2, 0], [2, 3]]], "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]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [3, 0], [3, 3]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 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": [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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [2, 3]], [[1, 2]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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, 3]]}, {"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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1]], [[2, 4]], [[3, 0], [3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"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]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [1, 1]], [[2, 0]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[0, 6]]}, {"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], "pos": [[2, 4]]}, {"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, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0], "pos": [[4, 6]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0], "pos": [[5, 6]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 6], [1, 6]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[5, 5], [5, 5]]}, {"patt": [1, 0], "pos": [[1, 6], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 6], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 4], [1, 3], [1, 6], [3, 1], [4, 0]], [[2, 2]], [[5, 5]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], "requirements": []}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "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, 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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 4]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"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]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"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": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 1]], [[1, 2]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"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, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 3], [3, 3]], [[2, 2]], [[4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3]], [[1, 2]], [[2, 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]]}], "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, {"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, 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, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 4]], [[2, 0], [2, 3], [3, 3]], [[4, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 4]], [[1, 3], [1, 5]], [[2, 2]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 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, 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, 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], "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], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 4]]}, {"patt": [0, 1], "pos": [[2, 5], [2, 5]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 4], [2, 2], [2, 5], [3, 4]], [[1, 3]], [[4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"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], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [5, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[5, 4], [5, 4]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1], [1, 4], [3, 2], [5, 4]], [[2, 3]], [[4, 0]]], "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": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [3, 1]]], "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[6, 0]]}, {"patt": [0], "pos": [[6, 1]]}, {"patt": [0], "pos": [[6, 3]]}, {"patt": [0], "pos": [[6, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[5, 4], [5, 4]]}, {"patt": [0, 1], "pos": [[6, 2], [6, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [4, 1]], [[1, 0]], [[2, 4], [5, 4]], [[3, 3]], [[6, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 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": {"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": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 2], [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], "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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 2], [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", "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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 0], [1, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 0], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [], "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": [[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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}], "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": [[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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}], "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": {"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, 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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}], "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": [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], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}], "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", "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": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 5], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 3], [0, 5], [2, 0]]}], "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": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 3], [2, 0]]}], "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", "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": [[0, 4]]}, {"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], "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, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "requirements": [[{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 5]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 5], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 5], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 5], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 5], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 5], [2, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [2, 5], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 5], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 5], [2, 5], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [1, 1], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [2, 5], [2, 5]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 1], [1, 1], [2, 5], [2, 5]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 5], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 5], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 5], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 5], [1, 1], [1, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 1], [1, 1], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 1], [1, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 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", "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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [4, 3], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [4, 3], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [4, 3], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [3, 3], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [3, 3], [3, 1]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 2], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 4]]}]]}], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 2]]}], "requirements": [[{"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": "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 0]]}, {"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, 5]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 5], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 2], [1, 5], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 1], [1, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "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, 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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 4]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"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": "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, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 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, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[0, 6]]}, {"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], "pos": [[2, 4]]}, {"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, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0], "pos": [[4, 6]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0], "pos": [[5, 6]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 6], [1, 6]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[5, 5], [5, 5]]}, {"patt": [1, 0], "pos": [[1, 6], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 6], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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, 0]]}, {"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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[1, 5], [3, 5]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 5], [3, 5]]}, {"patt": [1, 0], "pos": [[1, 5], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 5], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 5], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 5], [3, 1]]}], "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": [], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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": [], "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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": "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, 5]]}, {"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, 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, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 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, 5]]}, {"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], "pos": [[2, 4]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 5], [3, 5]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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": [[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, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[0, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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": [], "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, 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], "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], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 4]]}, {"patt": [0, 1], "pos": [[2, 5], [2, 5]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "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, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 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], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [5, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[5, 4], [5, 4]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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": [], "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, 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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[6, 0]]}, {"patt": [0], "pos": [[6, 1]]}, {"patt": [0], "pos": [[6, 3]]}, {"patt": [0], "pos": [[6, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[5, 4], [5, 4]]}, {"patt": [0, 1], "pos": [[6, 2], [6, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[3, 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": [[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, 3]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 4]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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", "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"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}

Specification 2
Strategy pack name: point_placements_expand_verified
Tree: http://permpal.com/tree/21108/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[9,x]
F[4,x] = F[17,x]+F[5,x]
F[5,x] = F[1,x]+F[6,x]
F[6,x] = F[7,x]*F[9,x]
F[7,x] = F[1,x]+F[10,x]+F[8,x]
F[8,x] = F[7,x]*F[9,x]
F[9,x] = x
F[10,x] = F[11,x]*F[9,x]
F[11,x] = F[12,x,1]
F[12,x,k[0]] = (F[13,x,k[0]]*k[0]-F[13,x,1])/(-1+k[0])
F[13,x,k[0]] = F[1,x]+F[14,x,k[0]]+F[16,x,k[0]]
F[14,x,k[0]] = F[13,x,k[0]]*F[15,x,k[0]]
F[15,x,k[0]] = k[0]*x
F[16,x,k[0]] = F[12,x,k[0]]*F[9,x]
F[17,x] = F[18,x]
F[18,x] = F[19,x]*F[9,x]
F[19,x] = F[20,x]+F[238,x]
F[20,x] = F[21,x]+F[230,x]
F[21,x] = -F[212,x]+F[22,x]
F[22,x] = F[23,x]+F[26,x]
F[23,x] = 1/F[9,x]*F[24,x]
F[24,x] = F[25,x]
F[25,x] = F[6,x]
F[26,x] = F[27,x]
F[27,x] = F[28,x]*F[9,x]
F[28,x] = F[148,x]+F[29,x]
F[29,x] = 1/F[9,x]*F[30,x]
F[30,x] = F[31,x]
F[31,x] = -F[145,x]+F[32,x]
F[32,x] = F[33,x]+F[48,x]
F[33,x] = F[34,x]+F[38,x]
F[34,x] = F[35,x]*F[5,x]
F[35,x] = F[1,x]+F[36,x]
F[36,x] = F[37,x]
F[37,x] = F[35,x]*F[9,x]
F[38,x] = F[35,x]*F[39,x]
F[39,x] = F[40,x]
F[40,x] = F[41,x]*F[9,x]
F[41,x] = F[42,x]+F[43,x]+F[8,x]
F[42,x] = 0
F[43,x] = F[44,x]*F[9,x]
F[44,x] = F[45,x,1]
F[45,x,k[0]] = (F[46,x,k[0]]*k[0]-F[46,x,1])/(-1+k[0])
F[46,x,k[0]] = F[14,x,k[0]]+F[42,x]+F[47,x,k[0]]
F[47,x,k[0]] = F[45,x,k[0]]*F[9,x]
F[48,x] = F[49,x]
F[49,x] = F[50,x]*F[9,x]
F[50,x] = F[51,x]+F[90,x]
F[51,x] = F[35,x]*F[52,x]
F[52,x] = F[53,x]+F[59,x]
F[53,x] = F[35,x]+F[54,x]
F[54,x] = F[36,x]+F[55,x]
F[55,x] = F[42,x]+F[56,x]+F[58,x]
F[56,x] = F[57,x]*F[9,x]
F[57,x] = F[36,x]+F[55,x]
F[58,x] = F[54,x]*F[9,x]
F[59,x] = -F[80,x]+F[60,x]
F[60,x] = 1/F[9,x]*F[61,x]
F[61,x] = F[62,x]
F[62,x] = F[63,x]*F[9,x]
F[63,x] = F[64,x]+F[71,x]
F[64,x] = 1/F[9,x]*F[65,x]
F[65,x] = F[66,x]
F[66,x] = F[67,x]
F[67,x] = F[68,x]*F[9,x]
F[68,x] = 1/F[9,x]*F[69,x]
F[69,x] = F[70,x]
F[70,x] = -F[5,x]+F[23,x]
F[71,x] = F[72,x]
F[72,x] = F[35,x]*F[73,x]*F[9,x]
F[73,x] = F[68,x]+F[74,x]
F[74,x] = F[35,x]*F[75,x]
F[75,x] = F[36,x]+F[76,x]
F[76,x] = F[42,x]+F[77,x]+F[79,x]
F[77,x] = F[78,x]*F[9,x]
F[78,x] = F[36,x]+F[76,x]
F[79,x] = F[75,x]*F[9,x]
F[80,x] = F[81,x]+F[82,x]
F[81,x] = F[5,x]+F[66,x]
F[82,x] = F[83,x]
F[83,x] = F[84,x]*F[9,x]
F[84,x] = 1/F[9,x]*F[85,x]
F[85,x] = F[86,x]
F[86,x] = -F[53,x]+F[87,x]
F[87,x] = 1/F[9,x]*F[88,x]
F[88,x] = F[89,x]
F[89,x] = -F[5,x]+F[7,x]
F[90,x] = -F[142,x]+F[91,x]
F[91,x] = 1/F[9,x]*F[92,x]
F[92,x] = F[93,x]
F[93,x] = F[89,x]+F[94,x]
F[94,x] = F[95,x]
F[95,x] = F[9,x]*F[96,x]
F[96,x] = F[100,x]+F[97,x]
F[97,x] = F[98,x]+F[99,x]
F[98,x] = F[35,x]*F[89,x]
F[99,x] = F[54,x]*F[57,x]
F[100,x] = F[101,x]+F[105,x]
F[101,x] = F[102,x]+F[48,x]
F[102,x] = F[103,x]
F[103,x] = F[104,x]^2*F[35,x]*F[36,x]*F[9,x]
F[104,x] = F[35,x]+F[75,x]
F[105,x] = F[106,x]
F[106,x] = F[107,x]*F[35,x]
F[107,x] = F[108,x]+F[129,x]
F[108,x] = -F[66,x]+F[109,x]
F[109,x] = -F[116,x]+F[110,x]
F[110,x] = -F[32,x]+F[111,x]
F[111,x] = 1/F[9,x]*F[112,x]
F[112,x] = F[113,x]
F[113,x] = -F[5,x]+F[114,x]
F[114,x] = 1/F[9,x]*F[115,x]
F[115,x] = F[2,x]
F[116,x] = -F[31,x]+F[117,x]
F[117,x] = -F[118,x]+F[111,x]
F[118,x] = -F[124,x]+F[119,x]
F[119,x] = 1/F[9,x]*F[120,x]
F[120,x] = F[121,x]
F[121,x] = F[122,x]*F[9,x]
F[122,x] = F[123,x]+F[64,x]
F[123,x] = F[35,x]*F[66,x]
F[124,x] = F[125,x]*F[36,x]
F[125,x] = F[126,x]+F[128,x]+F[35,x]
F[126,x] = F[127,x]
F[127,x] = F[125,x]*F[35,x]*F[9,x]
F[128,x] = F[125,x]*F[9,x]
F[129,x] = F[130,x]*F[36,x]
F[130,x] = F[131,x]+F[138,x]+F[42,x]
F[131,x] = F[132,x]
F[132,x] = F[133,x]*F[9,x]
F[133,x] = F[130,x]+F[134,x]
F[134,x] = F[135,x]*F[35,x]*F[9,x]
F[135,x] = F[128,x]+F[136,x]+F[42,x]
F[136,x] = F[137,x]
F[137,x] = F[135,x]*F[35,x]*F[9,x]
F[138,x] = F[139,x]*F[9,x]
F[139,x] = F[128,x]+F[140,x]+F[42,x]
F[140,x] = F[141,x]
F[141,x] = F[139,x]*F[35,x]*F[9,x]
F[142,x] = F[143,x]*F[35,x]
F[143,x] = 1/F[9,x]*F[144,x]
F[144,x] = F[89,x]
F[145,x] = F[146,x]+F[5,x]
F[146,x] = F[147,x]
F[147,x] = F[143,x]*F[9,x]
F[148,x] = F[149,x]+F[211,x]
F[149,x] = F[150,x]+F[209,x]
F[150,x] = -F[33,x]+F[151,x]
F[151,x] = -F[152,x]+F[111,x]
F[152,x] = F[153,x]+F[154,x]
F[153,x] = F[108,x]+F[146,x]
F[154,x] = F[155,x]
F[155,x] = F[156,x]*F[9,x]
F[156,x] = F[100,x]+F[157,x]
F[157,x] = F[158,x]
F[158,x] = -F[161,x]+F[159,x]
F[159,x] = 1/F[9,x]*F[160,x]
F[160,x] = F[117,x]
F[161,x] = 1/F[9,x]*F[162,x]
F[162,x] = F[163,x]
F[163,x] = -F[7,x]+F[164,x]
F[164,x] = F[165,x]+F[81,x]
F[165,x] = F[166,x]
F[166,x] = F[167,x]*F[9,x]
F[167,x] = F[168,x]+F[178,x]
F[168,x] = 1/F[9,x]*F[169,x]
F[169,x] = F[170,x]
F[170,x] = -F[7,x]+F[171,x]
F[171,x] = F[172,x]+F[33,x]
F[172,x] = F[173,x]
F[173,x] = F[174,x]*F[9,x]
F[174,x] = F[175,x]+F[176,x]
F[175,x] = F[35,x]*F[52,x]
F[176,x] = -F[177,x]+F[91,x]
F[177,x] = F[143,x]*F[35,x]
F[178,x] = -F[195,x]+F[179,x]
F[179,x] = 1/F[9,x]*F[180,x]
F[180,x] = F[181,x]
F[181,x] = -F[184,x]+F[182,x]
F[182,x] = 1/F[9,x]*F[183,x]
F[183,x] = F[17,x]
F[184,x] = F[185,x]+F[66,x]
F[185,x] = F[186,x]+F[5,x]
F[186,x] = F[187,x]
F[187,x] = F[188,x]*F[9,x]
F[188,x] = F[189,x]+F[191,x]
F[189,x] = 1/F[9,x]*F[190,x]
F[190,x] = F[70,x]
F[191,x] = F[192,x]
F[192,x] = F[193,x]*F[35,x]*F[9,x]
F[193,x] = F[194,x]+F[68,x]
F[194,x] = F[35,x]*F[57,x]
F[195,x] = F[196,x]+F[207,x]
F[196,x] = 1/F[9,x]*F[197,x]
F[197,x] = F[198,x]
F[198,x] = -F[185,x]+F[199,x]
F[199,x] = -F[200,x]+F[182,x]
F[200,x] = F[201,x]+F[70,x]
F[201,x] = F[202,x]
F[202,x] = F[203,x]*F[9,x]
F[203,x] = F[148,x]+F[204,x]
F[204,x] = F[205,x]+F[206,x]
F[205,x] = F[35,x]*F[70,x]
F[206,x] = F[75,x]*F[78,x]
F[207,x] = F[208,x]+F[99,x]
F[208,x] = F[35,x]*F[66,x]
F[209,x] = F[210,x]
F[210,x] = F[53,x]^2*F[35,x]*F[36,x]*F[9,x]
F[211,x] = F[106,x]
F[212,x] = F[213,x]+F[70,x]
F[213,x] = F[214,x]
F[214,x] = F[215,x]*F[9,x]
F[215,x] = F[216,x]+F[217,x]
F[216,x] = F[205,x]+F[209,x]
F[217,x] = F[218,x]+F[225,x]
F[218,x] = F[219,x]
F[219,x] = F[220,x]+F[224,x]
F[220,x] = F[221,x]+F[222,x]
F[221,x] = F[146,x]*F[35,x]
F[222,x] = F[223,x]
F[223,x] = F[35,x]*F[53,x]*F[54,x]*F[9,x]
F[224,x] = F[108,x]*F[35,x]
F[225,x] = F[226,x]
F[226,x] = F[227,x]*F[35,x]*F[9,x]
F[227,x] = F[228,x]+F[229,x]
F[228,x] = F[135,x]*F[35,x]
F[229,x] = F[78,x]^2
F[230,x] = F[231,x]+F[89,x]
F[231,x] = F[232,x]
F[232,x] = F[233,x]*F[9,x]
F[233,x] = F[234,x]
F[234,x] = F[235,x]*F[9,x]
F[235,x] = F[177,x]+F[236,x]
F[236,x] = F[237,x]
F[237,x] = F[104,x]*F[35,x]*F[75,x]
F[238,x] = F[239,x]+F[246,x]
F[239,x] = F[240,x]+F[241,x]
F[240,x] = F[25,x]*F[35,x]
F[241,x] = F[242,x]
F[242,x] = F[243,x]*F[35,x]*F[9,x]
F[243,x] = F[244,x]+F[245,x]
F[244,x] = F[36,x]*F[53,x]
F[245,x] = F[35,x]*F[39,x]
F[246,x] = F[247,x]
F[247,x] = F[248,x]*F[9,x]
F[248,x] = F[249,x]+F[253,x]
F[249,x] = F[238,x]+F[250,x]
F[250,x] = F[251,x]
F[251,x] = F[252,x]*F[35,x]*F[36,x]
F[252,x] = -F[104,x]+F[189,x]
F[253,x] = F[254,x]+F[294,x]
F[254,x] = F[255,x]+F[262,x]
F[255,x] = F[256,x]
F[256,x] = F[257,x]*F[35,x]
F[257,x] = -F[189,x]+F[258,x]
F[258,x] = 1/F[35,x]/F[9,x]*F[259,x]
F[259,x] = F[260,x]
F[260,x] = -F[261,x]+F[189,x]
F[261,x] = F[35,x]*F[5,x]
F[262,x] = -F[274,x]+F[263,x]
F[263,x] = 1/F[9,x]*F[264,x]
F[264,x] = F[265,x]
F[265,x] = -F[273,x]+F[266,x]
F[266,x] = F[230,x]+F[267,x]
F[267,x] = F[268,x]
F[268,x] = F[269,x]*F[9,x]
F[269,x] = F[270,x]+F[271,x]
F[270,x] = F[252,x]*F[35,x]
F[271,x] = F[272,x]
F[272,x] = F[35,x]*F[54,x]*F[57,x]
F[273,x] = F[241,x]+F[89,x]
F[274,x] = F[275,x]
F[275,x] = F[276,x]*F[9,x]
F[276,x] = 1/F[9,x]*F[277,x]
F[277,x] = F[278,x]
F[278,x] = F[212,x]+F[279,x]
F[279,x] = F[280,x]*F[36,x]
F[280,x] = F[281,x]
F[281,x] = F[282,x]*F[35,x]*F[9,x]
F[282,x] = F[189,x]+F[283,x]
F[283,x] = F[284,x]+F[288,x]
F[284,x] = F[285,x]+F[36,x]
F[285,x] = F[286,x]
F[286,x] = F[287,x]*F[9,x]
F[287,x] = F[285,x]+F[36,x]
F[288,x] = F[289,x]+F[76,x]
F[289,x] = 2*F[42,x]+F[290,x]+F[292,x]
F[290,x] = F[291,x]*F[9,x]
F[291,x] = F[289,x]+F[76,x]
F[292,x] = F[293,x]*F[9,x]
F[293,x] = F[285,x]+F[289,x]
F[294,x] = F[295,x]*F[36,x]
F[295,x] = F[296,x]+F[75,x]
F[296,x] = F[297,x]+F[76,x]
F[297,x] = F[292,x]+F[298,x]+F[300,x]+F[42,x]
F[298,x] = F[299,x]*F[9,x]
F[299,x] = F[297,x]+F[76,x]
F[300,x] = F[301,x]*F[9,x]
F[301,x] = F[302,x]+F[305,x]
F[302,x] = F[303,x]
F[303,x] = F[304,x]*F[9,x]
F[304,x] = F[302,x]+F[36,x]
F[305,x] = 2*F[42,x]+F[300,x]+F[306,x]
F[306,x] = F[307,x]*F[9,x]
F[307,x] = F[285,x]+F[308,x]
F[308,x] = F[306,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{9}\! \left(x \right)
F_{4}\! \left(x \right) = F_{17}\! \left(x \right)+F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{1}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{7}\! \left(x \right) F_{9}\! \left(x \right)
F_{7}\! \left(x \right) = F_{1}\! \left(x \right)+F_{10}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{7}\! \left(x \right) F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = x
F_{10}\! \left(x \right) = F_{11}\! \left(x \right) F_{9}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x , 1\right)
F_{12}\! \left(x , y\right) = -\frac{-y F_{13}\! \left(x , y\right)+F_{13}\! \left(x , 1\right)}{-1+y}
F_{13}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{14}\! \left(x , y\right)+F_{16}\! \left(x , y\right)
F_{14}\! \left(x , y\right) = F_{13}\! \left(x , y\right) F_{15}\! \left(x , y\right)
F_{15}\! \left(x , y\right) = y x
F_{16}\! \left(x , y\right) = F_{12}\! \left(x , y\right) F_{9}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right) F_{9}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)+F_{238}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)+F_{230}\! \left(x \right)
F_{21}\! \left(x \right) = -F_{212}\! \left(x \right)+F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{26}\! \left(x \right)
F_{23}\! \left(x \right) = \frac{F_{24}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{6}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right) F_{9}\! \left(x \right)
F_{28}\! \left(x \right) = F_{148}\! \left(x \right)+F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = \frac{F_{30}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{30}\! \left(x \right) = F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = -F_{145}\! \left(x \right)+F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right)+F_{48}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)+F_{38}\! \left(x \right)
F_{34}\! \left(x \right) = F_{35}\! \left(x \right) F_{5}\! \left(x \right)
F_{35}\! \left(x \right) = F_{1}\! \left(x \right)+F_{36}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{38}\! \left(x \right) = F_{35}\! \left(x \right) F_{39}\! \left(x \right)
F_{39}\! \left(x \right) = F_{40}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right) F_{9}\! \left(x \right)
F_{41}\! \left(x \right) = F_{42}\! \left(x \right)+F_{43}\! \left(x \right)+F_{8}\! \left(x \right)
F_{42}\! \left(x \right) = 0
F_{43}\! \left(x \right) = F_{44}\! \left(x \right) F_{9}\! \left(x \right)
F_{44}\! \left(x \right) = F_{45}\! \left(x , 1\right)
F_{45}\! \left(x , y\right) = -\frac{-y F_{46}\! \left(x , y\right)+F_{46}\! \left(x , 1\right)}{-1+y}
F_{46}\! \left(x , y\right) = F_{14}\! \left(x , y\right)+F_{42}\! \left(x \right)+F_{47}\! \left(x , y\right)
F_{47}\! \left(x , y\right) = F_{45}\! \left(x , y\right) F_{9}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{50}\! \left(x \right) F_{9}\! \left(x \right)
F_{50}\! \left(x \right) = F_{51}\! \left(x \right)+F_{90}\! \left(x \right)
F_{51}\! \left(x \right) = F_{35}\! \left(x \right) F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{53}\! \left(x \right)+F_{59}\! \left(x \right)
F_{53}\! \left(x \right) = F_{35}\! \left(x \right)+F_{54}\! \left(x \right)
F_{54}\! \left(x \right) = F_{36}\! \left(x \right)+F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{42}\! \left(x \right)+F_{56}\! \left(x \right)+F_{58}\! \left(x \right)
F_{56}\! \left(x \right) = F_{57}\! \left(x \right) F_{9}\! \left(x \right)
F_{57}\! \left(x \right) = F_{36}\! \left(x \right)+F_{55}\! \left(x \right)
F_{58}\! \left(x \right) = F_{54}\! \left(x \right) F_{9}\! \left(x \right)
F_{59}\! \left(x \right) = -F_{80}\! \left(x \right)+F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = \frac{F_{61}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{61}\! \left(x \right) = F_{62}\! \left(x \right)
F_{62}\! \left(x \right) = F_{63}\! \left(x \right) F_{9}\! \left(x \right)
F_{63}\! \left(x \right) = F_{64}\! \left(x \right)+F_{71}\! \left(x \right)
F_{64}\! \left(x \right) = \frac{F_{65}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{65}\! \left(x \right) = F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{67}\! \left(x \right)
F_{67}\! \left(x \right) = F_{68}\! \left(x \right) F_{9}\! \left(x \right)
F_{68}\! \left(x \right) = \frac{F_{69}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)
F_{70}\! \left(x \right) = -F_{5}\! \left(x \right)+F_{23}\! \left(x \right)
F_{71}\! \left(x \right) = F_{72}\! \left(x \right)
F_{72}\! \left(x \right) = F_{35}\! \left(x \right) F_{73}\! \left(x \right) F_{9}\! \left(x \right)
F_{73}\! \left(x \right) = F_{68}\! \left(x \right)+F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{35}\! \left(x \right) F_{75}\! \left(x \right)
F_{75}\! \left(x \right) = F_{36}\! \left(x \right)+F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = F_{42}\! \left(x \right)+F_{77}\! \left(x \right)+F_{79}\! \left(x \right)
F_{77}\! \left(x \right) = F_{78}\! \left(x \right) F_{9}\! \left(x \right)
F_{78}\! \left(x \right) = F_{36}\! \left(x \right)+F_{76}\! \left(x \right)
F_{79}\! \left(x \right) = F_{75}\! \left(x \right) F_{9}\! \left(x \right)
F_{80}\! \left(x \right) = F_{81}\! \left(x \right)+F_{82}\! \left(x \right)
F_{81}\! \left(x \right) = F_{5}\! \left(x \right)+F_{66}\! \left(x \right)
F_{82}\! \left(x \right) = F_{83}\! \left(x \right)
F_{83}\! \left(x \right) = F_{84}\! \left(x \right) F_{9}\! \left(x \right)
F_{84}\! \left(x \right) = \frac{F_{85}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{85}\! \left(x \right) = F_{86}\! \left(x \right)
F_{86}\! \left(x \right) = -F_{53}\! \left(x \right)+F_{87}\! \left(x \right)
F_{87}\! \left(x \right) = \frac{F_{88}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{88}\! \left(x \right) = F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = -F_{5}\! \left(x \right)+F_{7}\! \left(x \right)
F_{90}\! \left(x \right) = -F_{142}\! \left(x \right)+F_{91}\! \left(x \right)
F_{91}\! \left(x \right) = \frac{F_{92}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{92}\! \left(x \right) = F_{93}\! \left(x \right)
F_{93}\! \left(x \right) = F_{89}\! \left(x \right)+F_{94}\! \left(x \right)
F_{94}\! \left(x \right) = F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = F_{9}\! \left(x \right) F_{96}\! \left(x \right)
F_{96}\! \left(x \right) = F_{100}\! \left(x \right)+F_{97}\! \left(x \right)
F_{97}\! \left(x \right) = F_{98}\! \left(x \right)+F_{99}\! \left(x \right)
F_{98}\! \left(x \right) = F_{35}\! \left(x \right) F_{89}\! \left(x \right)
F_{99}\! \left(x \right) = F_{54}\! \left(x \right) F_{57}\! \left(x \right)
F_{100}\! \left(x \right) = F_{101}\! \left(x \right)+F_{105}\! \left(x \right)
F_{101}\! \left(x \right) = F_{102}\! \left(x \right)+F_{48}\! \left(x \right)
F_{102}\! \left(x \right) = F_{103}\! \left(x \right)
F_{103}\! \left(x \right) = F_{104} \left(x \right)^{2} F_{35}\! \left(x \right) F_{36}\! \left(x \right) F_{9}\! \left(x \right)
F_{104}\! \left(x \right) = F_{35}\! \left(x \right)+F_{75}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right)
F_{106}\! \left(x \right) = F_{107}\! \left(x \right) F_{35}\! \left(x \right)
F_{107}\! \left(x \right) = F_{108}\! \left(x \right)+F_{129}\! \left(x \right)
F_{108}\! \left(x \right) = -F_{66}\! \left(x \right)+F_{109}\! \left(x \right)
F_{109}\! \left(x \right) = -F_{116}\! \left(x \right)+F_{110}\! \left(x \right)
F_{110}\! \left(x \right) = -F_{32}\! \left(x \right)+F_{111}\! \left(x \right)
F_{111}\! \left(x \right) = \frac{F_{112}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{112}\! \left(x \right) = F_{113}\! \left(x \right)
F_{113}\! \left(x \right) = -F_{5}\! \left(x \right)+F_{114}\! \left(x \right)
F_{114}\! \left(x \right) = \frac{F_{115}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{115}\! \left(x \right) = F_{2}\! \left(x \right)
F_{116}\! \left(x \right) = -F_{31}\! \left(x \right)+F_{117}\! \left(x \right)
F_{117}\! \left(x \right) = -F_{118}\! \left(x \right)+F_{111}\! \left(x \right)
F_{118}\! \left(x \right) = -F_{124}\! \left(x \right)+F_{119}\! \left(x \right)
F_{119}\! \left(x \right) = \frac{F_{120}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{120}\! \left(x \right) = F_{121}\! \left(x \right)
F_{121}\! \left(x \right) = F_{122}\! \left(x \right) F_{9}\! \left(x \right)
F_{122}\! \left(x \right) = F_{123}\! \left(x \right)+F_{64}\! \left(x \right)
F_{123}\! \left(x \right) = F_{35}\! \left(x \right) F_{66}\! \left(x \right)
F_{124}\! \left(x \right) = F_{125}\! \left(x \right) F_{36}\! \left(x \right)
F_{125}\! \left(x \right) = F_{126}\! \left(x \right)+F_{128}\! \left(x \right)+F_{35}\! \left(x \right)
F_{126}\! \left(x \right) = F_{127}\! \left(x \right)
F_{127}\! \left(x \right) = F_{125}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{128}\! \left(x \right) = F_{125}\! \left(x \right) F_{9}\! \left(x \right)
F_{129}\! \left(x \right) = F_{130}\! \left(x \right) F_{36}\! \left(x \right)
F_{130}\! \left(x \right) = F_{131}\! \left(x \right)+F_{138}\! \left(x \right)+F_{42}\! \left(x \right)
F_{131}\! \left(x \right) = F_{132}\! \left(x \right)
F_{132}\! \left(x \right) = F_{133}\! \left(x \right) F_{9}\! \left(x \right)
F_{133}\! \left(x \right) = F_{130}\! \left(x \right)+F_{134}\! \left(x \right)
F_{134}\! \left(x \right) = F_{135}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{135}\! \left(x \right) = F_{128}\! \left(x \right)+F_{136}\! \left(x \right)+F_{42}\! \left(x \right)
F_{136}\! \left(x \right) = F_{137}\! \left(x \right)
F_{137}\! \left(x \right) = F_{135}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{138}\! \left(x \right) = F_{139}\! \left(x \right) F_{9}\! \left(x \right)
F_{139}\! \left(x \right) = F_{128}\! \left(x \right)+F_{140}\! \left(x \right)+F_{42}\! \left(x \right)
F_{140}\! \left(x \right) = F_{141}\! \left(x \right)
F_{141}\! \left(x \right) = F_{139}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{142}\! \left(x \right) = F_{143}\! \left(x \right) F_{35}\! \left(x \right)
F_{143}\! \left(x \right) = \frac{F_{144}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{144}\! \left(x \right) = F_{89}\! \left(x \right)
F_{145}\! \left(x \right) = F_{146}\! \left(x \right)+F_{5}\! \left(x \right)
F_{146}\! \left(x \right) = F_{147}\! \left(x \right)
F_{147}\! \left(x \right) = F_{143}\! \left(x \right) F_{9}\! \left(x \right)
F_{148}\! \left(x \right) = F_{149}\! \left(x \right)+F_{211}\! \left(x \right)
F_{149}\! \left(x \right) = F_{150}\! \left(x \right)+F_{209}\! \left(x \right)
F_{150}\! \left(x \right) = -F_{33}\! \left(x \right)+F_{151}\! \left(x \right)
F_{151}\! \left(x \right) = -F_{152}\! \left(x \right)+F_{111}\! \left(x \right)
F_{152}\! \left(x \right) = F_{153}\! \left(x \right)+F_{154}\! \left(x \right)
F_{153}\! \left(x \right) = F_{108}\! \left(x \right)+F_{146}\! \left(x \right)
F_{154}\! \left(x \right) = F_{155}\! \left(x \right)
F_{155}\! \left(x \right) = F_{156}\! \left(x \right) F_{9}\! \left(x \right)
F_{156}\! \left(x \right) = F_{100}\! \left(x \right)+F_{157}\! \left(x \right)
F_{157}\! \left(x \right) = F_{158}\! \left(x \right)
F_{158}\! \left(x \right) = -F_{161}\! \left(x \right)+F_{159}\! \left(x \right)
F_{159}\! \left(x \right) = \frac{F_{160}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{160}\! \left(x \right) = F_{117}\! \left(x \right)
F_{161}\! \left(x \right) = \frac{F_{162}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{162}\! \left(x \right) = F_{163}\! \left(x \right)
F_{163}\! \left(x \right) = -F_{7}\! \left(x \right)+F_{164}\! \left(x \right)
F_{164}\! \left(x \right) = F_{165}\! \left(x \right)+F_{81}\! \left(x \right)
F_{165}\! \left(x \right) = F_{166}\! \left(x \right)
F_{166}\! \left(x \right) = F_{167}\! \left(x \right) F_{9}\! \left(x \right)
F_{167}\! \left(x \right) = F_{168}\! \left(x \right)+F_{178}\! \left(x \right)
F_{168}\! \left(x \right) = \frac{F_{169}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{169}\! \left(x \right) = F_{170}\! \left(x \right)
F_{170}\! \left(x \right) = -F_{7}\! \left(x \right)+F_{171}\! \left(x \right)
F_{171}\! \left(x \right) = F_{172}\! \left(x \right)+F_{33}\! \left(x \right)
F_{172}\! \left(x \right) = F_{173}\! \left(x \right)
F_{173}\! \left(x \right) = F_{174}\! \left(x \right) F_{9}\! \left(x \right)
F_{174}\! \left(x \right) = F_{175}\! \left(x \right)+F_{176}\! \left(x \right)
F_{175}\! \left(x \right) = F_{35}\! \left(x \right) F_{52}\! \left(x \right)
F_{176}\! \left(x \right) = -F_{177}\! \left(x \right)+F_{91}\! \left(x \right)
F_{177}\! \left(x \right) = F_{143}\! \left(x \right) F_{35}\! \left(x \right)
F_{178}\! \left(x \right) = -F_{195}\! \left(x \right)+F_{179}\! \left(x \right)
F_{179}\! \left(x \right) = \frac{F_{180}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{180}\! \left(x \right) = F_{181}\! \left(x \right)
F_{181}\! \left(x \right) = -F_{184}\! \left(x \right)+F_{182}\! \left(x \right)
F_{182}\! \left(x \right) = \frac{F_{183}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{183}\! \left(x \right) = F_{17}\! \left(x \right)
F_{184}\! \left(x \right) = F_{185}\! \left(x \right)+F_{66}\! \left(x \right)
F_{185}\! \left(x \right) = F_{186}\! \left(x \right)+F_{5}\! \left(x \right)
F_{186}\! \left(x \right) = F_{187}\! \left(x \right)
F_{187}\! \left(x \right) = F_{188}\! \left(x \right) F_{9}\! \left(x \right)
F_{188}\! \left(x \right) = F_{189}\! \left(x \right)+F_{191}\! \left(x \right)
F_{189}\! \left(x \right) = \frac{F_{190}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{190}\! \left(x \right) = F_{70}\! \left(x \right)
F_{191}\! \left(x \right) = F_{192}\! \left(x \right)
F_{192}\! \left(x \right) = F_{193}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{193}\! \left(x \right) = F_{194}\! \left(x \right)+F_{68}\! \left(x \right)
F_{194}\! \left(x \right) = F_{35}\! \left(x \right) F_{57}\! \left(x \right)
F_{195}\! \left(x \right) = F_{196}\! \left(x \right)+F_{207}\! \left(x \right)
F_{196}\! \left(x \right) = \frac{F_{197}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{197}\! \left(x \right) = F_{198}\! \left(x \right)
F_{198}\! \left(x \right) = -F_{185}\! \left(x \right)+F_{199}\! \left(x \right)
F_{199}\! \left(x \right) = -F_{200}\! \left(x \right)+F_{182}\! \left(x \right)
F_{200}\! \left(x \right) = F_{201}\! \left(x \right)+F_{70}\! \left(x \right)
F_{201}\! \left(x \right) = F_{202}\! \left(x \right)
F_{202}\! \left(x \right) = F_{203}\! \left(x \right) F_{9}\! \left(x \right)
F_{203}\! \left(x \right) = F_{148}\! \left(x \right)+F_{204}\! \left(x \right)
F_{204}\! \left(x \right) = F_{205}\! \left(x \right)+F_{206}\! \left(x \right)
F_{205}\! \left(x \right) = F_{35}\! \left(x \right) F_{70}\! \left(x \right)
F_{206}\! \left(x \right) = F_{75}\! \left(x \right) F_{78}\! \left(x \right)
F_{207}\! \left(x \right) = F_{208}\! \left(x \right)+F_{99}\! \left(x \right)
F_{208}\! \left(x \right) = F_{35}\! \left(x \right) F_{66}\! \left(x \right)
F_{209}\! \left(x \right) = F_{210}\! \left(x \right)
F_{210}\! \left(x \right) = F_{53} \left(x \right)^{2} F_{35}\! \left(x \right) F_{36}\! \left(x \right) F_{9}\! \left(x \right)
F_{211}\! \left(x \right) = F_{106}\! \left(x \right)
F_{212}\! \left(x \right) = F_{213}\! \left(x \right)+F_{70}\! \left(x \right)
F_{213}\! \left(x \right) = F_{214}\! \left(x \right)
F_{214}\! \left(x \right) = F_{215}\! \left(x \right) F_{9}\! \left(x \right)
F_{215}\! \left(x \right) = F_{216}\! \left(x \right)+F_{217}\! \left(x \right)
F_{216}\! \left(x \right) = F_{205}\! \left(x \right)+F_{209}\! \left(x \right)
F_{217}\! \left(x \right) = F_{218}\! \left(x \right)+F_{225}\! \left(x \right)
F_{218}\! \left(x \right) = F_{219}\! \left(x \right)
F_{219}\! \left(x \right) = F_{220}\! \left(x \right)+F_{224}\! \left(x \right)
F_{220}\! \left(x \right) = F_{221}\! \left(x \right)+F_{222}\! \left(x \right)
F_{221}\! \left(x \right) = F_{146}\! \left(x \right) F_{35}\! \left(x \right)
F_{222}\! \left(x \right) = F_{223}\! \left(x \right)
F_{223}\! \left(x \right) = F_{35}\! \left(x \right) F_{53}\! \left(x \right) F_{54}\! \left(x \right) F_{9}\! \left(x \right)
F_{224}\! \left(x \right) = F_{108}\! \left(x \right) F_{35}\! \left(x \right)
F_{225}\! \left(x \right) = F_{226}\! \left(x \right)
F_{226}\! \left(x \right) = F_{227}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{227}\! \left(x \right) = F_{228}\! \left(x \right)+F_{229}\! \left(x \right)
F_{228}\! \left(x \right) = F_{135}\! \left(x \right) F_{35}\! \left(x \right)
F_{229}\! \left(x \right) = F_{78} \left(x \right)^{2}
F_{230}\! \left(x \right) = F_{231}\! \left(x \right)+F_{89}\! \left(x \right)
F_{231}\! \left(x \right) = F_{232}\! \left(x \right)
F_{232}\! \left(x \right) = F_{233}\! \left(x \right) F_{9}\! \left(x \right)
F_{233}\! \left(x \right) = F_{234}\! \left(x \right)
F_{234}\! \left(x \right) = F_{235}\! \left(x \right) F_{9}\! \left(x \right)
F_{235}\! \left(x \right) = F_{177}\! \left(x \right)+F_{236}\! \left(x \right)
F_{236}\! \left(x \right) = F_{237}\! \left(x \right)
F_{237}\! \left(x \right) = F_{104}\! \left(x \right) F_{35}\! \left(x \right) F_{75}\! \left(x \right)
F_{238}\! \left(x \right) = F_{239}\! \left(x \right)+F_{246}\! \left(x \right)
F_{239}\! \left(x \right) = F_{240}\! \left(x \right)+F_{241}\! \left(x \right)
F_{240}\! \left(x \right) = F_{25}\! \left(x \right) F_{35}\! \left(x \right)
F_{241}\! \left(x \right) = F_{242}\! \left(x \right)
F_{242}\! \left(x \right) = F_{243}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{243}\! \left(x \right) = F_{244}\! \left(x \right)+F_{245}\! \left(x \right)
F_{244}\! \left(x \right) = F_{36}\! \left(x \right) F_{53}\! \left(x \right)
F_{245}\! \left(x \right) = F_{35}\! \left(x \right) F_{39}\! \left(x \right)
F_{246}\! \left(x \right) = F_{247}\! \left(x \right)
F_{247}\! \left(x \right) = F_{248}\! \left(x \right) F_{9}\! \left(x \right)
F_{248}\! \left(x \right) = F_{249}\! \left(x \right)+F_{253}\! \left(x \right)
F_{249}\! \left(x \right) = F_{238}\! \left(x \right)+F_{250}\! \left(x \right)
F_{250}\! \left(x \right) = F_{251}\! \left(x \right)
F_{251}\! \left(x \right) = F_{252}\! \left(x \right) F_{35}\! \left(x \right) F_{36}\! \left(x \right)
F_{252}\! \left(x \right) = -F_{104}\! \left(x \right)+F_{189}\! \left(x \right)
F_{253}\! \left(x \right) = F_{254}\! \left(x \right)+F_{294}\! \left(x \right)
F_{254}\! \left(x \right) = F_{255}\! \left(x \right)+F_{262}\! \left(x \right)
F_{255}\! \left(x \right) = F_{256}\! \left(x \right)
F_{256}\! \left(x \right) = F_{257}\! \left(x \right) F_{35}\! \left(x \right)
F_{257}\! \left(x \right) = -F_{189}\! \left(x \right)+F_{258}\! \left(x \right)
F_{258}\! \left(x \right) = \frac{F_{259}\! \left(x \right)}{F_{35}\! \left(x \right) F_{9}\! \left(x \right)}
F_{259}\! \left(x \right) = F_{260}\! \left(x \right)
F_{260}\! \left(x \right) = -F_{261}\! \left(x \right)+F_{189}\! \left(x \right)
F_{261}\! \left(x \right) = F_{35}\! \left(x \right) F_{5}\! \left(x \right)
F_{262}\! \left(x \right) = -F_{274}\! \left(x \right)+F_{263}\! \left(x \right)
F_{263}\! \left(x \right) = \frac{F_{264}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{264}\! \left(x \right) = F_{265}\! \left(x \right)
F_{265}\! \left(x \right) = -F_{273}\! \left(x \right)+F_{266}\! \left(x \right)
F_{266}\! \left(x \right) = F_{230}\! \left(x \right)+F_{267}\! \left(x \right)
F_{267}\! \left(x \right) = F_{268}\! \left(x \right)
F_{268}\! \left(x \right) = F_{269}\! \left(x \right) F_{9}\! \left(x \right)
F_{269}\! \left(x \right) = F_{270}\! \left(x \right)+F_{271}\! \left(x \right)
F_{270}\! \left(x \right) = F_{252}\! \left(x \right) F_{35}\! \left(x \right)
F_{271}\! \left(x \right) = F_{272}\! \left(x \right)
F_{272}\! \left(x \right) = F_{35}\! \left(x \right) F_{54}\! \left(x \right) F_{57}\! \left(x \right)
F_{273}\! \left(x \right) = F_{241}\! \left(x \right)+F_{89}\! \left(x \right)
F_{274}\! \left(x \right) = F_{275}\! \left(x \right)
F_{275}\! \left(x \right) = F_{276}\! \left(x \right) F_{9}\! \left(x \right)
F_{276}\! \left(x \right) = \frac{F_{277}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{277}\! \left(x \right) = F_{278}\! \left(x \right)
F_{278}\! \left(x \right) = F_{212}\! \left(x \right)+F_{279}\! \left(x \right)
F_{279}\! \left(x \right) = F_{280}\! \left(x \right) F_{36}\! \left(x \right)
F_{280}\! \left(x \right) = F_{281}\! \left(x \right)
F_{281}\! \left(x \right) = F_{282}\! \left(x \right) F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{282}\! \left(x \right) = F_{189}\! \left(x \right)+F_{283}\! \left(x \right)
F_{283}\! \left(x \right) = F_{284}\! \left(x \right)+F_{288}\! \left(x \right)
F_{284}\! \left(x \right) = F_{285}\! \left(x \right)+F_{36}\! \left(x \right)
F_{285}\! \left(x \right) = F_{286}\! \left(x \right)
F_{286}\! \left(x \right) = F_{287}\! \left(x \right) F_{9}\! \left(x \right)
F_{287}\! \left(x \right) = F_{285}\! \left(x \right)+F_{36}\! \left(x \right)
F_{288}\! \left(x \right) = F_{289}\! \left(x \right)+F_{76}\! \left(x \right)
F_{289}\! \left(x \right) = 2 F_{42}\! \left(x \right)+F_{290}\! \left(x \right)+F_{292}\! \left(x \right)
F_{290}\! \left(x \right) = F_{291}\! \left(x \right) F_{9}\! \left(x \right)
F_{291}\! \left(x \right) = F_{289}\! \left(x \right)+F_{76}\! \left(x \right)
F_{292}\! \left(x \right) = F_{293}\! \left(x \right) F_{9}\! \left(x \right)
F_{293}\! \left(x \right) = F_{285}\! \left(x \right)+F_{289}\! \left(x \right)
F_{294}\! \left(x \right) = F_{295}\! \left(x \right) F_{36}\! \left(x \right)
F_{295}\! \left(x \right) = F_{296}\! \left(x \right)+F_{75}\! \left(x \right)
F_{296}\! \left(x \right) = F_{297}\! \left(x \right)+F_{76}\! \left(x \right)
F_{297}\! \left(x \right) = F_{292}\! \left(x \right)+F_{298}\! \left(x \right)+F_{300}\! \left(x \right)+F_{42}\! \left(x \right)
F_{298}\! \left(x \right) = F_{299}\! \left(x \right) F_{9}\! \left(x \right)
F_{299}\! \left(x \right) = F_{297}\! \left(x \right)+F_{76}\! \left(x \right)
F_{300}\! \left(x \right) = F_{301}\! \left(x \right) F_{9}\! \left(x \right)
F_{301}\! \left(x \right) = F_{302}\! \left(x \right)+F_{305}\! \left(x \right)
F_{302}\! \left(x \right) = F_{303}\! \left(x \right)
F_{303}\! \left(x \right) = F_{304}\! \left(x \right) F_{9}\! \left(x \right)
F_{304}\! \left(x \right) = F_{302}\! \left(x \right)+F_{36}\! \left(x \right)
F_{305}\! \left(x \right) = 2 F_{42}\! \left(x \right)+F_{300}\! \left(x \right)+F_{306}\! \left(x \right)
F_{306}\! \left(x \right) = F_{307}\! \left(x \right) F_{9}\! \left(x \right)
F_{307}\! \left(x \right) = F_{285}\! \left(x \right)+F_{308}\! \left(x \right)
F_{308}\! \left(x \right) = F_{306}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_9(x))
Eq(F_4(x), F_17(x) + F_5(x))
Eq(F_5(x), F_1(x) + F_6(x))
Eq(F_6(x), F_7(x)*F_9(x))
Eq(F_7(x), F_1(x) + F_10(x) + F_8(x))
Eq(F_8(x), F_7(x)*F_9(x))
Eq(F_9(x), x)
Eq(F_10(x), F_11(x)*F_9(x))
Eq(F_11(x), F_12(x, 1))
Eq(F_12(x, k_0), (-k_0*F_13(x, k_0) + F_13(x, 1))/(1 - k_0))
Eq(F_13(x, k_0), F_1(x) + F_14(x, k_0) + F_16(x, k_0))
Eq(F_14(x, k_0), F_13(x, k_0)*F_15(x, k_0))
Eq(F_15(x, k_0), k_0*x)
Eq(F_16(x, k_0), F_12(x, k_0)*F_9(x))
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_19(x)*F_9(x))
Eq(F_19(x), F_20(x) + F_238(x))
Eq(F_20(x), F_21(x) + F_230(x))
Eq(F_21(x), -F_212(x) + F_22(x))
Eq(F_22(x), F_23(x) + F_26(x))
Eq(F_23(x), F_24(x)/F_9(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_6(x))
Eq(F_26(x), F_27(x))
Eq(F_27(x), F_28(x)*F_9(x))
Eq(F_28(x), F_148(x) + F_29(x))
Eq(F_29(x), F_30(x)/F_9(x))
Eq(F_30(x), F_31(x))
Eq(F_31(x), -F_145(x) + F_32(x))
Eq(F_32(x), F_33(x) + F_48(x))
Eq(F_33(x), F_34(x) + F_38(x))
Eq(F_34(x), F_35(x)*F_5(x))
Eq(F_35(x), F_1(x) + F_36(x))
Eq(F_36(x), F_37(x))
Eq(F_37(x), F_35(x)*F_9(x))
Eq(F_38(x), F_35(x)*F_39(x))
Eq(F_39(x), F_40(x))
Eq(F_40(x), F_41(x)*F_9(x))
Eq(F_41(x), F_42(x) + F_43(x) + F_8(x))
Eq(F_42(x), 0)
Eq(F_43(x), F_44(x)*F_9(x))
Eq(F_44(x), F_45(x, 1))
Eq(F_45(x, k_0), (-k_0*F_46(x, k_0) + F_46(x, 1))/(1 - k_0))
Eq(F_46(x, k_0), F_14(x, k_0) + F_42(x) + F_47(x, k_0))
Eq(F_47(x, k_0), F_45(x, k_0)*F_9(x))
Eq(F_48(x), F_49(x))
Eq(F_49(x), F_50(x)*F_9(x))
Eq(F_50(x), F_51(x) + F_90(x))
Eq(F_51(x), F_35(x)*F_52(x))
Eq(F_52(x), F_53(x) + F_59(x))
Eq(F_53(x), F_35(x) + F_54(x))
Eq(F_54(x), F_36(x) + F_55(x))
Eq(F_55(x), F_42(x) + F_56(x) + F_58(x))
Eq(F_56(x), F_57(x)*F_9(x))
Eq(F_57(x), F_36(x) + F_55(x))
Eq(F_58(x), F_54(x)*F_9(x))
Eq(F_59(x), F_60(x) - F_80(x))
Eq(F_60(x), F_61(x)/F_9(x))
Eq(F_61(x), F_62(x))
Eq(F_62(x), F_63(x)*F_9(x))
Eq(F_63(x), F_64(x) + F_71(x))
Eq(F_64(x), F_65(x)/F_9(x))
Eq(F_65(x), F_66(x))
Eq(F_66(x), F_67(x))
Eq(F_67(x), F_68(x)*F_9(x))
Eq(F_68(x), F_69(x)/F_9(x))
Eq(F_69(x), F_70(x))
Eq(F_70(x), F_23(x) - F_5(x))
Eq(F_71(x), F_72(x))
Eq(F_72(x), F_35(x)*F_73(x)*F_9(x))
Eq(F_73(x), F_68(x) + F_74(x))
Eq(F_74(x), F_35(x)*F_75(x))
Eq(F_75(x), F_36(x) + F_76(x))
Eq(F_76(x), F_42(x) + F_77(x) + F_79(x))
Eq(F_77(x), F_78(x)*F_9(x))
Eq(F_78(x), F_36(x) + F_76(x))
Eq(F_79(x), F_75(x)*F_9(x))
Eq(F_80(x), F_81(x) + F_82(x))
Eq(F_81(x), F_5(x) + F_66(x))
Eq(F_82(x), F_83(x))
Eq(F_83(x), F_84(x)*F_9(x))
Eq(F_84(x), F_85(x)/F_9(x))
Eq(F_85(x), F_86(x))
Eq(F_86(x), -F_53(x) + F_87(x))
Eq(F_87(x), F_88(x)/F_9(x))
Eq(F_88(x), F_89(x))
Eq(F_89(x), -F_5(x) + F_7(x))
Eq(F_90(x), -F_142(x) + F_91(x))
Eq(F_91(x), F_92(x)/F_9(x))
Eq(F_92(x), F_93(x))
Eq(F_93(x), F_89(x) + F_94(x))
Eq(F_94(x), F_95(x))
Eq(F_95(x), F_9(x)*F_96(x))
Eq(F_96(x), F_100(x) + F_97(x))
Eq(F_97(x), F_98(x) + F_99(x))
Eq(F_98(x), F_35(x)*F_89(x))
Eq(F_99(x), F_54(x)*F_57(x))
Eq(F_100(x), F_101(x) + F_105(x))
Eq(F_101(x), F_102(x) + F_48(x))
Eq(F_102(x), F_103(x))
Eq(F_103(x), F_104(x)**2*F_35(x)*F_36(x)*F_9(x))
Eq(F_104(x), F_35(x) + F_75(x))
Eq(F_105(x), F_106(x))
Eq(F_106(x), F_107(x)*F_35(x))
Eq(F_107(x), F_108(x) + F_129(x))
Eq(F_108(x), F_109(x) - F_66(x))
Eq(F_109(x), F_110(x) - F_116(x))
Eq(F_110(x), F_111(x) - F_32(x))
Eq(F_111(x), F_112(x)/F_9(x))
Eq(F_112(x), F_113(x))
Eq(F_113(x), F_114(x) - F_5(x))
Eq(F_114(x), F_115(x)/F_9(x))
Eq(F_115(x), F_2(x))
Eq(F_116(x), F_117(x) - F_31(x))
Eq(F_117(x), F_111(x) - F_118(x))
Eq(F_118(x), F_119(x) - F_124(x))
Eq(F_119(x), F_120(x)/F_9(x))
Eq(F_120(x), F_121(x))
Eq(F_121(x), F_122(x)*F_9(x))
Eq(F_122(x), F_123(x) + F_64(x))
Eq(F_123(x), F_35(x)*F_66(x))
Eq(F_124(x), F_125(x)*F_36(x))
Eq(F_125(x), F_126(x) + F_128(x) + F_35(x))
Eq(F_126(x), F_127(x))
Eq(F_127(x), F_125(x)*F_35(x)*F_9(x))
Eq(F_128(x), F_125(x)*F_9(x))
Eq(F_129(x), F_130(x)*F_36(x))
Eq(F_130(x), F_131(x) + F_138(x) + F_42(x))
Eq(F_131(x), F_132(x))
Eq(F_132(x), F_133(x)*F_9(x))
Eq(F_133(x), F_130(x) + F_134(x))
Eq(F_134(x), F_135(x)*F_35(x)*F_9(x))
Eq(F_135(x), F_128(x) + F_136(x) + F_42(x))
Eq(F_136(x), F_137(x))
Eq(F_137(x), F_135(x)*F_35(x)*F_9(x))
Eq(F_138(x), F_139(x)*F_9(x))
Eq(F_139(x), F_128(x) + F_140(x) + F_42(x))
Eq(F_140(x), F_141(x))
Eq(F_141(x), F_139(x)*F_35(x)*F_9(x))
Eq(F_142(x), F_143(x)*F_35(x))
Eq(F_143(x), F_144(x)/F_9(x))
Eq(F_144(x), F_89(x))
Eq(F_145(x), F_146(x) + F_5(x))
Eq(F_146(x), F_147(x))
Eq(F_147(x), F_143(x)*F_9(x))
Eq(F_148(x), F_149(x) + F_211(x))
Eq(F_149(x), F_150(x) + F_209(x))
Eq(F_150(x), F_151(x) - F_33(x))
Eq(F_151(x), F_111(x) - F_152(x))
Eq(F_152(x), F_153(x) + F_154(x))
Eq(F_153(x), F_108(x) + F_146(x))
Eq(F_154(x), F_155(x))
Eq(F_155(x), F_156(x)*F_9(x))
Eq(F_156(x), F_100(x) + F_157(x))
Eq(F_157(x), F_158(x))
Eq(F_158(x), F_159(x) - F_161(x))
Eq(F_159(x), F_160(x)/F_9(x))
Eq(F_160(x), F_117(x))
Eq(F_161(x), F_162(x)/F_9(x))
Eq(F_162(x), F_163(x))
Eq(F_163(x), F_164(x) - F_7(x))
Eq(F_164(x), F_165(x) + F_81(x))
Eq(F_165(x), F_166(x))
Eq(F_166(x), F_167(x)*F_9(x))
Eq(F_167(x), F_168(x) + F_178(x))
Eq(F_168(x), F_169(x)/F_9(x))
Eq(F_169(x), F_170(x))
Eq(F_170(x), F_171(x) - F_7(x))
Eq(F_171(x), F_172(x) + F_33(x))
Eq(F_172(x), F_173(x))
Eq(F_173(x), F_174(x)*F_9(x))
Eq(F_174(x), F_175(x) + F_176(x))
Eq(F_175(x), F_35(x)*F_52(x))
Eq(F_176(x), -F_177(x) + F_91(x))
Eq(F_177(x), F_143(x)*F_35(x))
Eq(F_178(x), F_179(x) - F_195(x))
Eq(F_179(x), F_180(x)/F_9(x))
Eq(F_180(x), F_181(x))
Eq(F_181(x), F_182(x) - F_184(x))
Eq(F_182(x), F_183(x)/F_9(x))
Eq(F_183(x), F_17(x))
Eq(F_184(x), F_185(x) + F_66(x))
Eq(F_185(x), F_186(x) + F_5(x))
Eq(F_186(x), F_187(x))
Eq(F_187(x), F_188(x)*F_9(x))
Eq(F_188(x), F_189(x) + F_191(x))
Eq(F_189(x), F_190(x)/F_9(x))
Eq(F_190(x), F_70(x))
Eq(F_191(x), F_192(x))
Eq(F_192(x), F_193(x)*F_35(x)*F_9(x))
Eq(F_193(x), F_194(x) + F_68(x))
Eq(F_194(x), F_35(x)*F_57(x))
Eq(F_195(x), F_196(x) + F_207(x))
Eq(F_196(x), F_197(x)/F_9(x))
Eq(F_197(x), F_198(x))
Eq(F_198(x), -F_185(x) + F_199(x))
Eq(F_199(x), F_182(x) - F_200(x))
Eq(F_200(x), F_201(x) + F_70(x))
Eq(F_201(x), F_202(x))
Eq(F_202(x), F_203(x)*F_9(x))
Eq(F_203(x), F_148(x) + F_204(x))
Eq(F_204(x), F_205(x) + F_206(x))
Eq(F_205(x), F_35(x)*F_70(x))
Eq(F_206(x), F_75(x)*F_78(x))
Eq(F_207(x), F_208(x) + F_99(x))
Eq(F_208(x), F_35(x)*F_66(x))
Eq(F_209(x), F_210(x))
Eq(F_210(x), F_35(x)*F_36(x)*F_53(x)**2*F_9(x))
Eq(F_211(x), F_106(x))
Eq(F_212(x), F_213(x) + F_70(x))
Eq(F_213(x), F_214(x))
Eq(F_214(x), F_215(x)*F_9(x))
Eq(F_215(x), F_216(x) + F_217(x))
Eq(F_216(x), F_205(x) + F_209(x))
Eq(F_217(x), F_218(x) + F_225(x))
Eq(F_218(x), F_219(x))
Eq(F_219(x), F_220(x) + F_224(x))
Eq(F_220(x), F_221(x) + F_222(x))
Eq(F_221(x), F_146(x)*F_35(x))
Eq(F_222(x), F_223(x))
Eq(F_223(x), F_35(x)*F_53(x)*F_54(x)*F_9(x))
Eq(F_224(x), F_108(x)*F_35(x))
Eq(F_225(x), F_226(x))
Eq(F_226(x), F_227(x)*F_35(x)*F_9(x))
Eq(F_227(x), F_228(x) + F_229(x))
Eq(F_228(x), F_135(x)*F_35(x))
Eq(F_229(x), F_78(x)**2)
Eq(F_230(x), F_231(x) + F_89(x))
Eq(F_231(x), F_232(x))
Eq(F_232(x), F_233(x)*F_9(x))
Eq(F_233(x), F_234(x))
Eq(F_234(x), F_235(x)*F_9(x))
Eq(F_235(x), F_177(x) + F_236(x))
Eq(F_236(x), F_237(x))
Eq(F_237(x), F_104(x)*F_35(x)*F_75(x))
Eq(F_238(x), F_239(x) + F_246(x))
Eq(F_239(x), F_240(x) + F_241(x))
Eq(F_240(x), F_25(x)*F_35(x))
Eq(F_241(x), F_242(x))
Eq(F_242(x), F_243(x)*F_35(x)*F_9(x))
Eq(F_243(x), F_244(x) + F_245(x))
Eq(F_244(x), F_36(x)*F_53(x))
Eq(F_245(x), F_35(x)*F_39(x))
Eq(F_246(x), F_247(x))
Eq(F_247(x), F_248(x)*F_9(x))
Eq(F_248(x), F_249(x) + F_253(x))
Eq(F_249(x), F_238(x) + F_250(x))
Eq(F_250(x), F_251(x))
Eq(F_251(x), F_252(x)*F_35(x)*F_36(x))
Eq(F_252(x), -F_104(x) + F_189(x))
Eq(F_253(x), F_254(x) + F_294(x))
Eq(F_254(x), F_255(x) + F_262(x))
Eq(F_255(x), F_256(x))
Eq(F_256(x), F_257(x)*F_35(x))
Eq(F_257(x), -F_189(x) + F_258(x))
Eq(F_258(x), F_259(x)/(F_35(x)*F_9(x)))
Eq(F_259(x), F_260(x))
Eq(F_260(x), F_189(x) - F_261(x))
Eq(F_261(x), F_35(x)*F_5(x))
Eq(F_262(x), F_263(x) - F_274(x))
Eq(F_263(x), F_264(x)/F_9(x))
Eq(F_264(x), F_265(x))
Eq(F_265(x), F_266(x) - F_273(x))
Eq(F_266(x), F_230(x) + F_267(x))
Eq(F_267(x), F_268(x))
Eq(F_268(x), F_269(x)*F_9(x))
Eq(F_269(x), F_270(x) + F_271(x))
Eq(F_270(x), F_252(x)*F_35(x))
Eq(F_271(x), F_272(x))
Eq(F_272(x), F_35(x)*F_54(x)*F_57(x))
Eq(F_273(x), F_241(x) + F_89(x))
Eq(F_274(x), F_275(x))
Eq(F_275(x), F_276(x)*F_9(x))
Eq(F_276(x), F_277(x)/F_9(x))
Eq(F_277(x), F_278(x))
Eq(F_278(x), F_212(x) + F_279(x))
Eq(F_279(x), F_280(x)*F_36(x))
Eq(F_280(x), F_281(x))
Eq(F_281(x), F_282(x)*F_35(x)*F_9(x))
Eq(F_282(x), F_189(x) + F_283(x))
Eq(F_283(x), F_284(x) + F_288(x))
Eq(F_284(x), F_285(x) + F_36(x))
Eq(F_285(x), F_286(x))
Eq(F_286(x), F_287(x)*F_9(x))
Eq(F_287(x), F_285(x) + F_36(x))
Eq(F_288(x), F_289(x) + F_76(x))
Eq(F_289(x), F_290(x) + F_292(x) + 2*F_42(x))
Eq(F_290(x), F_291(x)*F_9(x))
Eq(F_291(x), F_289(x) + F_76(x))
Eq(F_292(x), F_293(x)*F_9(x))
Eq(F_293(x), F_285(x) + F_289(x))
Eq(F_294(x), F_295(x)*F_36(x))
Eq(F_295(x), F_296(x) + F_75(x))
Eq(F_296(x), F_297(x) + F_76(x))
Eq(F_297(x), F_292(x) + F_298(x) + F_300(x) + F_42(x))
Eq(F_298(x), F_299(x)*F_9(x))
Eq(F_299(x), F_297(x) + F_76(x))
Eq(F_300(x), F_301(x)*F_9(x))
Eq(F_301(x), F_302(x) + F_305(x))
Eq(F_302(x), F_303(x))
Eq(F_303(x), F_304(x)*F_9(x))
Eq(F_304(x), F_302(x) + F_36(x))
Eq(F_305(x), F_300(x) + F_306(x) + 2*F_42(x))
Eq(F_306(x), F_307(x)*F_9(x))
Eq(F_307(x), F_285(x) + F_308(x))
Eq(F_308(x), F_306(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements_expand_verified", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 2], [2, 2], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 1], [2, 2]], [[1, 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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 1], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 1], [2, 2]], [[1, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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}}, "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": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "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, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 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, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "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": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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"}}, "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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 1], [4, 1], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1], [2, 0], [4, 0], [4, 1]], [[3, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 1], [3, 3]], [[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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 0], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [4, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1], [2, 0], [4, 0], [4, 1]], [[3, 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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2]], [[1, 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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "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": [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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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], [2, 0]], [[1, 1]]], "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, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [3, 0], [3, 2]], [[1, 1]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1], [3, 1]], [[2, 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": [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 2], [3, 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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1], [4, 2]], [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 4], [1, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]]], "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": [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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [4, 2], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 2], [3, 0], [4, 0], [4, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "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], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 0]]}], "ignore_parent": false, "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [4, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 1], [1, 3], [2, 0], [2, 3], [4, 0]], [[3, 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": [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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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]]}]]}, {"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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]], [[3, 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": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1], [1, 2], [3, 2], [4, 1]], [[2, 0]]], "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], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "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, 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [3, 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": [[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, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [3, 0], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 4], [3, 0], [3, 2], [3, 4], [4, 1]], [[2, 3]]], "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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[3, 0], [3, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[3, 2], [3, 0], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 2], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [0, 4], [2, 1], [2, 2], [2, 4]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 0], [2, 2], [2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 1], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1], [4, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 1], [3, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 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": [[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, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 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, 3], [0, 4], [2, 1], [2, 2], [2, 4]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 2], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2], [2, 0], [3, 0], [3, 2]], [[4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 1], [3, 3]], [[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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 1], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 4], [1, 4], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 4], [2, 0], [2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}], [{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 2], [1, 4], [2, 0], [2, 1], [2, 4], [4, 0]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 3], [3, 0], [3, 2], [3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [5, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[5, 0], [5, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [5, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [5, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [5, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [5, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [5, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [5, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [4, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1], [2, 0], [4, 1], [5, 0]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [1, 1], [1, 3]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0], [3, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 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, 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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 3], [3, 2], [3, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 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, 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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 1], [2, 0]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [3, 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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [3, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [3, 0], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 4], [3, 0], [3, 3], [3, 4], [4, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 2], [2, 1], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 2], [4, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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": [[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, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 4], [3, 0], [3, 2], [3, 4]], [[2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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]]}]]}, {"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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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": [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, 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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 3], [3, 2]], [[1, 1]], [[4, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 3], [2, 2], [2, 3]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, "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"}}, {"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 3], [4, 0]], [[3, 2]]], "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": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0, 1], "pos": [[1, 1], [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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0, 1], "pos": [[1, 1], [1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [3, 1]]], "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [3, 0]], [[1, 2], [4, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[5, 3], [5, 3]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [4, 0]], [[1, 3], [5, 3]], [[2, 2]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0], "pos": [[6, 0]]}, {"patt": [0], "pos": [[6, 1]]}, {"patt": [0], "pos": [[6, 2]]}, {"patt": [0], "pos": [[6, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[5, 1], [5, 1]]}, {"patt": [0, 1], "pos": [[6, 4], [6, 4]]}, {"patt": [1, 0], "pos": [[5, 1], [5, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}], [{"patt": [0], "pos": [[5, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [4, 2]], [[1, 0]], [[2, 4], [6, 4]], [[3, 3]], [[5, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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": [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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 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, 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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[1, 6]]}, {"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, 6]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[4, 6], [4, 6]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}], [{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 5]], [[1, 4]], [[2, 0]], [[3, 3]], [[4, 2], [4, 6]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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": [[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, 1]]}, {"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, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[1, 5], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [1, 2], [1, 5], [3, 0]], [[2, 1]], [[4, 4]]], "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": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3]], [[2, 2], [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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 1]], [[2, 0], [2, 2], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"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": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"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": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [1, 2]], [[2, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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": "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[3, 0], [3, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[3, 2], [3, 0], [3, 2], [3, 2]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [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": "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 2], [2, 2], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [2, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "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": {"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 1], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [2, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "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": {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": {"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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 1], [4, 1], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "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": "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, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 0], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [4, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "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": "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, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "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": {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "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", "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], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_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": {"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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", "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "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": "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "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": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 1], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "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": "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 1], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 1], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 1], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": {"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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "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": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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": "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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": "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [4, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [3, 2]]}], "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": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [3, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "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": {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 4], [1, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "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": "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "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": "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, 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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 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": {"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], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [4, 2], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [4, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [3, 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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 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": "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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 2], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[4, 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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[3, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [4, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 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": [], "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, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 1], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 4], [2, 4]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 4], [1, 4], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 4], [2, 0], [2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}], [{"patt": [0], "pos": [[3, 3]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 3], [1, 3], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 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": [], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [5, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[5, 0], [5, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [5, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [5, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [5, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [5, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [5, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [5, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [4, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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": "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [4, 1]]}], "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": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 2]]}], "requirements": [[{"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": "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": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 2]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": "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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 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": {"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 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", "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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": "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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 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, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[1, 3], [1, 1]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 3]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 3]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": {"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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [3, 0], [4, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [3, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [3, 0], [4, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [3, 0], [4, 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": {"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, 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, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [3, 0], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [], "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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [3, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 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": [], "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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[2, 2], [2, 1]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"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": {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[5, 3], [5, 3]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}], [{"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "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, 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": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [4, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}], [{"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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}], [{"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", "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, 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": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"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": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [4, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [0, 1], "pos": [[2, 2], [2, 4]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0], "pos": [[6, 0]]}, {"patt": [0], "pos": [[6, 1]]}, {"patt": [0], "pos": [[6, 2]]}, {"patt": [0], "pos": [[6, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[5, 1], [5, 1]]}, {"patt": [0, 1], "pos": [[6, 4], [6, 4]]}, {"patt": [1, 0], "pos": [[5, 1], [5, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}], [{"patt": [0], "pos": [[5, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[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": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[3, 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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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, 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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[1, 6]]}, {"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, 6]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [0, 1], "pos": [[4, 6], [4, 6]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}], [{"patt": [0], "pos": [[3, 3]]}]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 0]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 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": "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"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": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"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": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 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": [], "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, 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, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 4]]}, {"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": [[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, 1]]}, {"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, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 5], [1, 5]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[1, 5], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"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, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}], "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, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 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": "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": [[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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 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, 0]]}, {"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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[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": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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", "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"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}

Specification 3
Strategy pack name: point_placements_req_corrob_expand_verified
Tree: http://permpal.com/tree/21109/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[5,x]
F[4,x] = x
F[5,x] = F[17,x]+F[6,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[4,x]*F[8,x]
F[8,x] = F[1,x]+F[10,x]+F[9,x]
F[9,x] = F[4,x]*F[8,x]
F[10,x] = F[11,x]*F[4,x]
F[11,x] = F[12,x,1]
F[12,x,k[0]] = (F[13,x,k[0]]*k[0]-F[13,x,1])/(-1+k[0])
F[13,x,k[0]] = F[1,x]+F[14,x,k[0]]+F[16,x,k[0]]
F[14,x,k[0]] = F[13,x,k[0]]*F[15,x,k[0]]
F[15,x,k[0]] = k[0]*x
F[16,x,k[0]] = F[12,x,k[0]]*F[4,x]
F[17,x] = F[18,x]
F[18,x] = F[19,x]*F[4,x]
F[19,x] = F[20,x]+F[361,x]
F[20,x] = F[21,x]+F[348,x]
F[21,x] = F[22,x]+F[6,x]
F[22,x] = F[23,x]+F[24,x]
F[23,x] = F[7,x]
F[24,x] = F[25,x]
F[25,x] = F[26,x]*F[4,x]
F[26,x] = F[27,x]+F[343,x]
F[27,x] = -F[34,x]+F[28,x]
F[28,x] = 1/F[4,x]*F[29,x]
F[29,x] = F[30,x]
F[30,x] = -F[23,x]+F[31,x]
F[31,x] = -F[6,x]+F[32,x]
F[32,x] = 1/F[4,x]*F[33,x]
F[33,x] = F[2,x]
F[34,x] = -F[38,x]+F[35,x]
F[35,x] = 1/F[4,x]*F[36,x]
F[36,x] = F[37,x]
F[37,x] = F[23,x]+F[30,x]
F[38,x] = F[39,x]+F[54,x]
F[39,x] = F[40,x]+F[44,x]
F[40,x] = F[41,x]*F[6,x]
F[41,x] = F[1,x]+F[42,x]
F[42,x] = F[43,x]
F[43,x] = F[4,x]*F[41,x]
F[44,x] = F[41,x]*F[45,x]
F[45,x] = F[46,x]
F[46,x] = F[4,x]*F[47,x]
F[47,x] = F[48,x]+F[49,x]+F[9,x]
F[48,x] = 0
F[49,x] = F[4,x]*F[50,x]
F[50,x] = F[51,x,1]
F[51,x,k[0]] = (F[52,x,k[0]]*k[0]-F[52,x,1])/(-1+k[0])
F[52,x,k[0]] = F[14,x,k[0]]+F[48,x]+F[53,x,k[0]]
F[53,x,k[0]] = F[4,x]*F[51,x,k[0]]
F[54,x] = F[55,x]
F[55,x] = F[4,x]*F[56,x]
F[56,x] = F[109,x]+F[57,x]
F[57,x] = F[41,x]*F[58,x]
F[58,x] = F[59,x]+F[65,x]
F[59,x] = F[41,x]+F[60,x]
F[60,x] = F[42,x]+F[61,x]
F[61,x] = F[48,x]+F[62,x]+F[64,x]
F[62,x] = F[4,x]*F[63,x]
F[63,x] = F[42,x]+F[61,x]
F[64,x] = F[4,x]*F[60,x]
F[65,x] = -F[105,x]+F[66,x]
F[66,x] = 1/F[4,x]*F[67,x]
F[67,x] = F[68,x]
F[68,x] = F[4,x]*F[69,x]
F[69,x] = F[70,x]+F[78,x]
F[70,x] = F[71,x]+F[72,x]
F[71,x] = F[23,x]*F[41,x]
F[72,x] = F[42,x]*F[73,x]
F[73,x] = F[42,x]+F[74,x]
F[74,x] = F[48,x]+F[75,x]+F[77,x]
F[75,x] = F[4,x]*F[76,x]
F[76,x] = F[42,x]+F[74,x]
F[77,x] = F[4,x]*F[73,x]
F[78,x] = F[79,x]+F[81,x]
F[79,x] = F[80,x]
F[80,x] = F[4,x]*F[58,x]
F[81,x] = F[82,x]
F[82,x] = F[4,x]*F[41,x]*F[83,x]
F[83,x] = F[84,x]+F[85,x]
F[84,x] = F[71,x]+F[81,x]
F[85,x] = -F[98,x]+F[86,x]
F[86,x] = 1/F[4,x]/F[41,x]*F[87,x]
F[87,x] = F[88,x]
F[88,x] = F[103,x]+F[89,x]
F[89,x] = F[90,x]
F[90,x] = F[4,x]*F[91,x]
F[91,x] = F[92,x]+F[93,x]
F[92,x] = F[6,x]+F[89,x]
F[93,x] = F[94,x]
F[94,x] = F[4,x]*F[95,x]
F[95,x] = 1/F[4,x]*F[96,x]
F[96,x] = F[97,x]
F[97,x] = -F[92,x]+F[98,x]
F[98,x] = 1/F[4,x]*F[99,x]
F[99,x] = F[100,x]
F[100,x] = -F[6,x]+F[101,x]
F[101,x] = 1/F[4,x]*F[102,x]
F[102,x] = F[23,x]
F[103,x] = -F[104,x]+F[97,x]
F[104,x] = F[42,x]*F[6,x]
F[105,x] = F[106,x]
F[106,x] = F[107,x]*F[4,x]
F[107,x] = 1/F[4,x]*F[108,x]
F[108,x] = F[84,x]
F[109,x] = -F[341,x]+F[110,x]
F[110,x] = 1/F[4,x]*F[111,x]
F[111,x] = F[112,x]
F[112,x] = -F[337,x]+F[113,x]
F[113,x] = F[114,x]+F[150,x]
F[114,x] = -F[122,x]+F[115,x]
F[115,x] = 1/F[4,x]*F[116,x]
F[116,x] = F[117,x]
F[117,x] = -F[23,x]+F[118,x]
F[118,x] = -F[6,x]+F[119,x]
F[119,x] = F[120,x]+F[6,x]
F[120,x] = F[121,x]
F[121,x] = F[35,x]*F[4,x]
F[122,x] = F[123,x]+F[150,x]
F[123,x] = F[124,x]+F[23,x]
F[124,x] = F[125,x]
F[125,x] = F[126,x]*F[4,x]
F[126,x] = F[123,x]+F[127,x]
F[127,x] = F[128,x]+F[149,x]
F[128,x] = F[129,x]
F[129,x] = F[130,x]*F[4,x]
F[130,x] = F[131,x]+F[133,x]
F[131,x] = F[132,x]
F[132,x] = F[41,x]*F[59,x]
F[133,x] = 1/F[4,x]*F[134,x]
F[134,x] = F[135,x]
F[135,x] = -F[63,x]+F[136,x]
F[136,x] = -F[141,x]+F[137,x]
F[137,x] = 1/F[4,x]*F[138,x]
F[138,x] = F[139,x]
F[139,x] = -F[23,x]+F[140,x]
F[140,x] = -F[6,x]+F[5,x]
F[141,x] = -F[144,x]+F[142,x]
F[142,x] = 1/F[4,x]*F[143,x]
F[143,x] = F[140,x]
F[144,x] = 1/F[4,x]*F[145,x]
F[145,x] = F[146,x]
F[146,x] = -F[6,x]+F[147,x]
F[147,x] = 1/F[4,x]*F[148,x]
F[148,x] = F[23,x]
F[149,x] = F[42,x]*F[63,x]
F[150,x] = F[151,x]
F[151,x] = F[152,x]*F[4,x]
F[152,x] = F[153,x]+F[319,x]
F[153,x] = -F[316,x]+F[154,x]
F[154,x] = 1/F[4,x]*F[155,x]
F[155,x] = F[156,x]
F[156,x] = -F[314,x]+F[157,x]
F[157,x] = F[158,x]
F[158,x] = F[159,x]*F[4,x]
F[159,x] = F[160,x]+F[311,x]
F[160,x] = F[161,x]+F[162,x]
F[161,x] = F[101,x]+F[157,x]
F[162,x] = F[163,x]+F[189,x]
F[163,x] = -F[175,x]+F[164,x]
F[164,x] = 1/F[4,x]*F[165,x]
F[165,x] = F[166,x]
F[166,x] = F[167,x]
F[167,x] = F[168,x]*F[4,x]
F[168,x] = F[169,x]+F[174,x]
F[169,x] = F[170,x]+F[42,x]
F[170,x] = F[171,x]
F[171,x] = F[172,x]*F[4,x]
F[172,x] = F[163,x]+F[173,x]
F[173,x] = F[42,x]*F[59,x]
F[174,x] = F[175,x]+F[188,x]
F[175,x] = F[135,x]+F[176,x]
F[176,x] = F[177,x]+F[23,x]
F[177,x] = F[178,x]
F[178,x] = F[179,x]*F[4,x]
F[179,x] = F[180,x]+F[181,x]
F[180,x] = F[23,x]*F[41,x]
F[181,x] = F[146,x]+F[182,x]
F[182,x] = -F[187,x]+F[183,x]
F[183,x] = -F[147,x]+F[184,x]
F[184,x] = 1/F[4,x]*F[185,x]
F[185,x] = F[186,x]
F[186,x] = -F[6,x]+F[8,x]
F[187,x] = F[42,x]*F[6,x]
F[188,x] = F[42,x]*F[76,x]
F[189,x] = -F[310,x]+F[190,x]
F[190,x] = -F[308,x]+F[191,x]
F[191,x] = 1/F[4,x]*F[192,x]
F[192,x] = F[193,x]
F[193,x] = -F[307,x]+F[194,x]
F[194,x] = -F[306,x]+F[195,x]
F[195,x] = F[180,x]+F[196,x]
F[196,x] = F[197,x]
F[197,x] = F[198,x]*F[4,x]*F[41,x]
F[198,x] = F[199,x]+F[284,x]
F[199,x] = F[169,x]+F[200,x]
F[200,x] = -F[271,x]+F[201,x]
F[201,x] = F[202,x]+F[203,x]
F[202,x] = F[23,x]*F[60,x]
F[203,x] = -F[251,x]+F[204,x]
F[204,x] = -F[241,x]+F[205,x]
F[205,x] = 1/F[4,x]*F[206,x]
F[206,x] = F[207,x]
F[207,x] = F[208,x]
F[208,x] = F[209,x]*F[4,x]
F[209,x] = F[210,x]+F[240,x]
F[210,x] = F[211,x]+F[213,x]
F[211,x] = F[207,x]+F[212,x]
F[212,x] = F[23,x]*F[42,x]
F[213,x] = -F[238,x]+F[214,x]
F[214,x] = F[215,x]+F[85,x]
F[215,x] = F[216,x]*F[42,x]
F[216,x] = F[217,x]+F[60,x]
F[217,x] = F[218,x]+F[61,x]
F[218,x] = F[219,x]+F[221,x]+F[229,x]+F[48,x]
F[219,x] = F[220,x]*F[4,x]
F[220,x] = F[218,x]+F[61,x]
F[221,x] = F[222,x]*F[4,x]
F[222,x] = F[223,x]+F[226,x]
F[223,x] = F[224,x]
F[224,x] = F[225,x]*F[4,x]
F[225,x] = F[223,x]+F[42,x]
F[226,x] = 2*F[48,x]+F[221,x]+F[227,x]
F[227,x] = F[228,x]*F[4,x]
F[228,x] = F[226,x]+F[61,x]
F[229,x] = F[230,x]*F[4,x]
F[230,x] = F[231,x]+F[234,x]
F[231,x] = F[232,x]
F[232,x] = F[233,x]*F[4,x]
F[233,x] = F[231,x]+F[42,x]
F[234,x] = 2*F[48,x]+F[229,x]+F[235,x]
F[235,x] = F[236,x]*F[4,x]
F[236,x] = F[223,x]+F[237,x]
F[237,x] = F[235,x]
F[238,x] = F[239,x]+F[93,x]
F[239,x] = F[42,x]*F[60,x]
F[240,x] = F[42,x]*F[83,x]
F[241,x] = F[242,x]+F[250,x]
F[242,x] = -F[247,x]+F[243,x]
F[243,x] = F[244,x]+F[245,x]
F[244,x] = F[23,x]*F[59,x]
F[245,x] = F[246,x]*F[42,x]
F[246,x] = F[222,x]+F[63,x]
F[247,x] = F[248,x]+F[249,x]
F[248,x] = F[42,x]*F[59,x]
F[249,x] = F[41,x]*F[45,x]
F[250,x] = F[243,x]*F[42,x]
F[251,x] = F[252,x]*F[42,x]
F[252,x] = F[203,x]+F[253,x]
F[253,x] = F[254,x]+F[256,x]
F[254,x] = F[255,x]
F[255,x] = F[4,x]*F[58,x]
F[256,x] = -F[73,x]+F[257,x]
F[257,x] = F[100,x]+F[258,x]
F[258,x] = -F[104,x]+F[259,x]
F[259,x] = -F[266,x]+F[260,x]
F[260,x] = 1/F[4,x]*F[261,x]
F[261,x] = F[262,x]
F[262,x] = -F[23,x]+F[263,x]
F[263,x] = -F[6,x]+F[264,x]
F[264,x] = 1/F[4,x]*F[265,x]
F[265,x] = F[2,x]
F[266,x] = -F[269,x]+F[267,x]
F[267,x] = 1/F[4,x]*F[268,x]
F[268,x] = F[263,x]
F[269,x] = 1/F[4,x]*F[270,x]
F[270,x] = F[89,x]
F[271,x] = -F[277,x]+F[272,x]
F[272,x] = -F[275,x]+F[273,x]
F[273,x] = 1/F[4,x]*F[274,x]
F[274,x] = F[103,x]
F[275,x] = F[276,x]*F[42,x]
F[276,x] = F[269,x]+F[272,x]
F[277,x] = F[278,x]+F[282,x]+F[48,x]
F[278,x] = F[279,x]*F[4,x]
F[279,x] = F[278,x]+F[280,x]+F[41,x]
F[280,x] = F[281,x]
F[281,x] = F[279,x]*F[4,x]*F[41,x]
F[282,x] = F[283,x]
F[283,x] = F[277,x]*F[4,x]*F[41,x]
F[284,x] = F[285,x]+F[296,x]
F[285,x] = F[175,x]+F[286,x]
F[286,x] = -F[292,x]+F[287,x]
F[287,x] = -F[290,x]+F[288,x]
F[288,x] = 1/F[4,x]*F[289,x]
F[289,x] = F[182,x]
F[290,x] = F[291,x]*F[42,x]
F[291,x] = F[144,x]+F[287,x]
F[292,x] = F[293,x]+F[294,x]+F[48,x]
F[293,x] = F[279,x]*F[4,x]
F[294,x] = F[295,x]
F[295,x] = F[292,x]*F[4,x]*F[41,x]
F[296,x] = F[297,x]*F[42,x]
F[297,x] = F[298,x]+F[76,x]
F[298,x] = F[299,x]+F[302,x]
F[299,x] = F[300,x]
F[300,x] = F[301,x]*F[4,x]
F[301,x] = F[299,x]+F[42,x]
F[302,x] = 2*F[48,x]+F[303,x]+F[305,x]
F[303,x] = F[304,x]*F[4,x]
F[304,x] = F[302,x]+F[74,x]
F[305,x] = F[298,x]*F[4,x]
F[306,x] = F[166,x]+F[23,x]
F[307,x] = F[23,x]*F[42,x]
F[308,x] = F[309,x]*F[41,x]
F[309,x] = F[200,x]+F[286,x]
F[310,x] = F[175,x]*F[42,x]
F[311,x] = F[312,x]+F[313,x]
F[312,x] = F[100,x]*F[41,x]
F[313,x] = F[60,x]^2
F[314,x] = F[315,x]+F[44,x]
F[315,x] = F[42,x]*F[6,x]
F[316,x] = F[317,x]+F[318,x]
F[317,x] = F[100,x]*F[41,x]
F[318,x] = F[60,x]*F[63,x]
F[319,x] = 1/F[4,x]*F[320,x]
F[320,x] = F[321,x]
F[321,x] = -F[123,x]+F[322,x]
F[322,x] = F[323,x]
F[323,x] = F[324,x]*F[4,x]
F[324,x] = 1/F[4,x]*F[325,x]
F[325,x] = F[326,x]
F[326,x] = F[146,x]+F[327,x]
F[327,x] = -F[100,x]+F[328,x]
F[328,x] = F[329,x]
F[329,x] = F[330,x]*F[4,x]
F[330,x] = 1/F[4,x]*F[331,x]
F[331,x] = F[332,x]
F[332,x] = F[211,x]+F[333,x]
F[333,x] = F[23,x]+F[334,x]
F[334,x] = F[335,x]
F[335,x] = F[336,x]*F[4,x]
F[336,x] = F[238,x]+F[333,x]
F[337,x] = F[150,x]+F[338,x]
F[338,x] = F[339,x]+F[340,x]
F[339,x] = F[23,x]*F[41,x]
F[340,x] = F[42,x]*F[45,x]
F[341,x] = F[342,x]*F[42,x]
F[342,x] = F[128,x]+F[8,x]
F[343,x] = -F[346,x]+F[344,x]
F[344,x] = 1/F[4,x]*F[345,x]
F[345,x] = F[150,x]
F[346,x] = F[319,x]+F[347,x]
F[347,x] = F[76,x]^2
F[348,x] = F[349,x]
F[349,x] = F[350,x]*F[4,x]
F[350,x] = F[351,x]+F[353,x]
F[351,x] = F[352,x]
F[352,x] = F[41,x]*F[92,x]
F[353,x] = F[354,x]
F[354,x] = F[355,x]*F[4,x]*F[41,x]
F[355,x] = F[356,x]+F[95,x]
F[356,x] = F[357,x]
F[357,x] = F[358,x]*F[41,x]
F[358,x] = F[359,x]+F[360,x]
F[359,x] = F[223,x]+F[42,x]
F[360,x] = F[226,x]+F[61,x]
F[361,x] = F[362,x]+F[364,x]
F[362,x] = F[123,x]+F[363,x]
F[363,x] = F[176,x]*F[42,x]
F[364,x] = F[365,x]
F[365,x] = F[366,x]*F[4,x]
F[366,x] = F[367,x]+F[369,x]
F[367,x] = F[319,x]+F[368,x]
F[368,x] = F[133,x]*F[42,x]
F[369,x] = F[76,x]^2*F[41,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{5}\! \left(x \right)
F_{4}\! \left(x \right) = x
F_{5}\! \left(x \right) = F_{17}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{1}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{4}\! \left(x \right) F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{1}\! \left(x \right)+F_{10}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{4}\! \left(x \right) F_{8}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right) F_{4}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x , 1\right)
F_{12}\! \left(x , y\right) = -\frac{-y F_{13}\! \left(x , y\right)+F_{13}\! \left(x , 1\right)}{-1+y}
F_{13}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{14}\! \left(x , y\right)+F_{16}\! \left(x , y\right)
F_{14}\! \left(x , y\right) = F_{13}\! \left(x , y\right) F_{15}\! \left(x , y\right)
F_{15}\! \left(x , y\right) = y x
F_{16}\! \left(x , y\right) = F_{12}\! \left(x , y\right) F_{4}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right) F_{4}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)+F_{361}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)+F_{348}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right)+F_{6}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{24}\! \left(x \right)
F_{23}\! \left(x \right) = F_{7}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right) F_{4}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)+F_{343}\! \left(x \right)
F_{27}\! \left(x \right) = -F_{34}\! \left(x \right)+F_{28}\! \left(x \right)
F_{28}\! \left(x \right) = \frac{F_{29}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = -F_{23}\! \left(x \right)+F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = \frac{F_{33}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{33}\! \left(x \right) = F_{2}\! \left(x \right)
F_{34}\! \left(x \right) = -F_{38}\! \left(x \right)+F_{35}\! \left(x \right)
F_{35}\! \left(x \right) = \frac{F_{36}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{23}\! \left(x \right)+F_{30}\! \left(x \right)
F_{38}\! \left(x \right) = F_{39}\! \left(x \right)+F_{54}\! \left(x \right)
F_{39}\! \left(x \right) = F_{40}\! \left(x \right)+F_{44}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right) F_{6}\! \left(x \right)
F_{41}\! \left(x \right) = F_{1}\! \left(x \right)+F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{44}\! \left(x \right) = F_{41}\! \left(x \right) F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{4}\! \left(x \right) F_{47}\! \left(x \right)
F_{47}\! \left(x \right) = F_{48}\! \left(x \right)+F_{49}\! \left(x \right)+F_{9}\! \left(x \right)
F_{48}\! \left(x \right) = 0
F_{49}\! \left(x \right) = F_{4}\! \left(x \right) F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{51}\! \left(x , 1\right)
F_{51}\! \left(x , y\right) = -\frac{-y F_{52}\! \left(x , y\right)+F_{52}\! \left(x , 1\right)}{-1+y}
F_{52}\! \left(x , y\right) = F_{14}\! \left(x , y\right)+F_{48}\! \left(x \right)+F_{53}\! \left(x , y\right)
F_{53}\! \left(x , y\right) = F_{4}\! \left(x \right) F_{51}\! \left(x , y\right)
F_{54}\! \left(x \right) = F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{4}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = F_{109}\! \left(x \right)+F_{57}\! \left(x \right)
F_{57}\! \left(x \right) = F_{41}\! \left(x \right) F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = F_{59}\! \left(x \right)+F_{65}\! \left(x \right)
F_{59}\! \left(x \right) = F_{41}\! \left(x \right)+F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{42}\! \left(x \right)+F_{61}\! \left(x \right)
F_{61}\! \left(x \right) = F_{48}\! \left(x \right)+F_{62}\! \left(x \right)+F_{64}\! \left(x \right)
F_{62}\! \left(x \right) = F_{4}\! \left(x \right) F_{63}\! \left(x \right)
F_{63}\! \left(x \right) = F_{42}\! \left(x \right)+F_{61}\! \left(x \right)
F_{64}\! \left(x \right) = F_{4}\! \left(x \right) F_{60}\! \left(x \right)
F_{65}\! \left(x \right) = -F_{105}\! \left(x \right)+F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = \frac{F_{67}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{67}\! \left(x \right) = F_{68}\! \left(x \right)
F_{68}\! \left(x \right) = F_{4}\! \left(x \right) F_{69}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)+F_{78}\! \left(x \right)
F_{70}\! \left(x \right) = F_{71}\! \left(x \right)+F_{72}\! \left(x \right)
F_{71}\! \left(x \right) = F_{23}\! \left(x \right) F_{41}\! \left(x \right)
F_{72}\! \left(x \right) = F_{42}\! \left(x \right) F_{73}\! \left(x \right)
F_{73}\! \left(x \right) = F_{42}\! \left(x \right)+F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{48}\! \left(x \right)+F_{75}\! \left(x \right)+F_{77}\! \left(x \right)
F_{75}\! \left(x \right) = F_{4}\! \left(x \right) F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = F_{42}\! \left(x \right)+F_{74}\! \left(x \right)
F_{77}\! \left(x \right) = F_{4}\! \left(x \right) F_{73}\! \left(x \right)
F_{78}\! \left(x \right) = F_{79}\! \left(x \right)+F_{81}\! \left(x \right)
F_{79}\! \left(x \right) = F_{80}\! \left(x \right)
F_{80}\! \left(x \right) = F_{4}\! \left(x \right) F_{58}\! \left(x \right)
F_{81}\! \left(x \right) = F_{82}\! \left(x \right)
F_{82}\! \left(x \right) = F_{4}\! \left(x \right) F_{41}\! \left(x \right) F_{83}\! \left(x \right)
F_{83}\! \left(x \right) = F_{84}\! \left(x \right)+F_{85}\! \left(x \right)
F_{84}\! \left(x \right) = F_{71}\! \left(x \right)+F_{81}\! \left(x \right)
F_{85}\! \left(x \right) = -F_{98}\! \left(x \right)+F_{86}\! \left(x \right)
F_{86}\! \left(x \right) = \frac{F_{87}\! \left(x \right)}{F_{4}\! \left(x \right) F_{41}\! \left(x \right)}
F_{87}\! \left(x \right) = F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = F_{103}\! \left(x \right)+F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = F_{90}\! \left(x \right)
F_{90}\! \left(x \right) = F_{4}\! \left(x \right) F_{91}\! \left(x \right)
F_{91}\! \left(x \right) = F_{92}\! \left(x \right)+F_{93}\! \left(x \right)
F_{92}\! \left(x \right) = F_{6}\! \left(x \right)+F_{89}\! \left(x \right)
F_{93}\! \left(x \right) = F_{94}\! \left(x \right)
F_{94}\! \left(x \right) = F_{4}\! \left(x \right) F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = \frac{F_{96}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{96}\! \left(x \right) = F_{97}\! \left(x \right)
F_{97}\! \left(x \right) = -F_{92}\! \left(x \right)+F_{98}\! \left(x \right)
F_{98}\! \left(x \right) = \frac{F_{99}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{99}\! \left(x \right) = F_{100}\! \left(x \right)
F_{100}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{101}\! \left(x \right)
F_{101}\! \left(x \right) = \frac{F_{102}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{102}\! \left(x \right) = F_{23}\! \left(x \right)
F_{103}\! \left(x \right) = -F_{104}\! \left(x \right)+F_{97}\! \left(x \right)
F_{104}\! \left(x \right) = F_{42}\! \left(x \right) F_{6}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right)
F_{106}\! \left(x \right) = F_{107}\! \left(x \right) F_{4}\! \left(x \right)
F_{107}\! \left(x \right) = \frac{F_{108}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{108}\! \left(x \right) = F_{84}\! \left(x \right)
F_{109}\! \left(x \right) = -F_{341}\! \left(x \right)+F_{110}\! \left(x \right)
F_{110}\! \left(x \right) = \frac{F_{111}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{111}\! \left(x \right) = F_{112}\! \left(x \right)
F_{112}\! \left(x \right) = -F_{337}\! \left(x \right)+F_{113}\! \left(x \right)
F_{113}\! \left(x \right) = F_{114}\! \left(x \right)+F_{150}\! \left(x \right)
F_{114}\! \left(x \right) = -F_{122}\! \left(x \right)+F_{115}\! \left(x \right)
F_{115}\! \left(x \right) = \frac{F_{116}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{116}\! \left(x \right) = F_{117}\! \left(x \right)
F_{117}\! \left(x \right) = -F_{23}\! \left(x \right)+F_{118}\! \left(x \right)
F_{118}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{119}\! \left(x \right)
F_{119}\! \left(x \right) = F_{120}\! \left(x \right)+F_{6}\! \left(x \right)
F_{120}\! \left(x \right) = F_{121}\! \left(x \right)
F_{121}\! \left(x \right) = F_{35}\! \left(x \right) F_{4}\! \left(x \right)
F_{122}\! \left(x \right) = F_{123}\! \left(x \right)+F_{150}\! \left(x \right)
F_{123}\! \left(x \right) = F_{124}\! \left(x \right)+F_{23}\! \left(x \right)
F_{124}\! \left(x \right) = F_{125}\! \left(x \right)
F_{125}\! \left(x \right) = F_{126}\! \left(x \right) F_{4}\! \left(x \right)
F_{126}\! \left(x \right) = F_{123}\! \left(x \right)+F_{127}\! \left(x \right)
F_{127}\! \left(x \right) = F_{128}\! \left(x \right)+F_{149}\! \left(x \right)
F_{128}\! \left(x \right) = F_{129}\! \left(x \right)
F_{129}\! \left(x \right) = F_{130}\! \left(x \right) F_{4}\! \left(x \right)
F_{130}\! \left(x \right) = F_{131}\! \left(x \right)+F_{133}\! \left(x \right)
F_{131}\! \left(x \right) = F_{132}\! \left(x \right)
F_{132}\! \left(x \right) = F_{41}\! \left(x \right) F_{59}\! \left(x \right)
F_{133}\! \left(x \right) = \frac{F_{134}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{134}\! \left(x \right) = F_{135}\! \left(x \right)
F_{135}\! \left(x \right) = -F_{63}\! \left(x \right)+F_{136}\! \left(x \right)
F_{136}\! \left(x \right) = -F_{141}\! \left(x \right)+F_{137}\! \left(x \right)
F_{137}\! \left(x \right) = \frac{F_{138}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{138}\! \left(x \right) = F_{139}\! \left(x \right)
F_{139}\! \left(x \right) = -F_{23}\! \left(x \right)+F_{140}\! \left(x \right)
F_{140}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{5}\! \left(x \right)
F_{141}\! \left(x \right) = -F_{144}\! \left(x \right)+F_{142}\! \left(x \right)
F_{142}\! \left(x \right) = \frac{F_{143}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{143}\! \left(x \right) = F_{140}\! \left(x \right)
F_{144}\! \left(x \right) = \frac{F_{145}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{145}\! \left(x \right) = F_{146}\! \left(x \right)
F_{146}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{147}\! \left(x \right)
F_{147}\! \left(x \right) = \frac{F_{148}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{148}\! \left(x \right) = F_{23}\! \left(x \right)
F_{149}\! \left(x \right) = F_{42}\! \left(x \right) F_{63}\! \left(x \right)
F_{150}\! \left(x \right) = F_{151}\! \left(x \right)
F_{151}\! \left(x \right) = F_{152}\! \left(x \right) F_{4}\! \left(x \right)
F_{152}\! \left(x \right) = F_{153}\! \left(x \right)+F_{319}\! \left(x \right)
F_{153}\! \left(x \right) = -F_{316}\! \left(x \right)+F_{154}\! \left(x \right)
F_{154}\! \left(x \right) = \frac{F_{155}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{155}\! \left(x \right) = F_{156}\! \left(x \right)
F_{156}\! \left(x \right) = -F_{314}\! \left(x \right)+F_{157}\! \left(x \right)
F_{157}\! \left(x \right) = F_{158}\! \left(x \right)
F_{158}\! \left(x \right) = F_{159}\! \left(x \right) F_{4}\! \left(x \right)
F_{159}\! \left(x \right) = F_{160}\! \left(x \right)+F_{311}\! \left(x \right)
F_{160}\! \left(x \right) = F_{161}\! \left(x \right)+F_{162}\! \left(x \right)
F_{161}\! \left(x \right) = F_{101}\! \left(x \right)+F_{157}\! \left(x \right)
F_{162}\! \left(x \right) = F_{163}\! \left(x \right)+F_{189}\! \left(x \right)
F_{163}\! \left(x \right) = -F_{175}\! \left(x \right)+F_{164}\! \left(x \right)
F_{164}\! \left(x \right) = \frac{F_{165}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{165}\! \left(x \right) = F_{166}\! \left(x \right)
F_{166}\! \left(x \right) = F_{167}\! \left(x \right)
F_{167}\! \left(x \right) = F_{168}\! \left(x \right) F_{4}\! \left(x \right)
F_{168}\! \left(x \right) = F_{169}\! \left(x \right)+F_{174}\! \left(x \right)
F_{169}\! \left(x \right) = F_{170}\! \left(x \right)+F_{42}\! \left(x \right)
F_{170}\! \left(x \right) = F_{171}\! \left(x \right)
F_{171}\! \left(x \right) = F_{172}\! \left(x \right) F_{4}\! \left(x \right)
F_{172}\! \left(x \right) = F_{163}\! \left(x \right)+F_{173}\! \left(x \right)
F_{173}\! \left(x \right) = F_{42}\! \left(x \right) F_{59}\! \left(x \right)
F_{174}\! \left(x \right) = F_{175}\! \left(x \right)+F_{188}\! \left(x \right)
F_{175}\! \left(x \right) = F_{135}\! \left(x \right)+F_{176}\! \left(x \right)
F_{176}\! \left(x \right) = F_{177}\! \left(x \right)+F_{23}\! \left(x \right)
F_{177}\! \left(x \right) = F_{178}\! \left(x \right)
F_{178}\! \left(x \right) = F_{179}\! \left(x \right) F_{4}\! \left(x \right)
F_{179}\! \left(x \right) = F_{180}\! \left(x \right)+F_{181}\! \left(x \right)
F_{180}\! \left(x \right) = F_{23}\! \left(x \right) F_{41}\! \left(x \right)
F_{181}\! \left(x \right) = F_{146}\! \left(x \right)+F_{182}\! \left(x \right)
F_{182}\! \left(x \right) = -F_{187}\! \left(x \right)+F_{183}\! \left(x \right)
F_{183}\! \left(x \right) = -F_{147}\! \left(x \right)+F_{184}\! \left(x \right)
F_{184}\! \left(x \right) = \frac{F_{185}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{185}\! \left(x \right) = F_{186}\! \left(x \right)
F_{186}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{8}\! \left(x \right)
F_{187}\! \left(x \right) = F_{42}\! \left(x \right) F_{6}\! \left(x \right)
F_{188}\! \left(x \right) = F_{42}\! \left(x \right) F_{76}\! \left(x \right)
F_{189}\! \left(x \right) = -F_{310}\! \left(x \right)+F_{190}\! \left(x \right)
F_{190}\! \left(x \right) = -F_{308}\! \left(x \right)+F_{191}\! \left(x \right)
F_{191}\! \left(x \right) = \frac{F_{192}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{192}\! \left(x \right) = F_{193}\! \left(x \right)
F_{193}\! \left(x \right) = -F_{307}\! \left(x \right)+F_{194}\! \left(x \right)
F_{194}\! \left(x \right) = -F_{306}\! \left(x \right)+F_{195}\! \left(x \right)
F_{195}\! \left(x \right) = F_{180}\! \left(x \right)+F_{196}\! \left(x \right)
F_{196}\! \left(x \right) = F_{197}\! \left(x \right)
F_{197}\! \left(x \right) = F_{198}\! \left(x \right) F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{198}\! \left(x \right) = F_{199}\! \left(x \right)+F_{284}\! \left(x \right)
F_{199}\! \left(x \right) = F_{169}\! \left(x \right)+F_{200}\! \left(x \right)
F_{200}\! \left(x \right) = -F_{271}\! \left(x \right)+F_{201}\! \left(x \right)
F_{201}\! \left(x \right) = F_{202}\! \left(x \right)+F_{203}\! \left(x \right)
F_{202}\! \left(x \right) = F_{23}\! \left(x \right) F_{60}\! \left(x \right)
F_{203}\! \left(x \right) = -F_{251}\! \left(x \right)+F_{204}\! \left(x \right)
F_{204}\! \left(x \right) = -F_{241}\! \left(x \right)+F_{205}\! \left(x \right)
F_{205}\! \left(x \right) = \frac{F_{206}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{206}\! \left(x \right) = F_{207}\! \left(x \right)
F_{207}\! \left(x \right) = F_{208}\! \left(x \right)
F_{208}\! \left(x \right) = F_{209}\! \left(x \right) F_{4}\! \left(x \right)
F_{209}\! \left(x \right) = F_{210}\! \left(x \right)+F_{240}\! \left(x \right)
F_{210}\! \left(x \right) = F_{211}\! \left(x \right)+F_{213}\! \left(x \right)
F_{211}\! \left(x \right) = F_{207}\! \left(x \right)+F_{212}\! \left(x \right)
F_{212}\! \left(x \right) = F_{23}\! \left(x \right) F_{42}\! \left(x \right)
F_{213}\! \left(x \right) = -F_{238}\! \left(x \right)+F_{214}\! \left(x \right)
F_{214}\! \left(x \right) = F_{215}\! \left(x \right)+F_{85}\! \left(x \right)
F_{215}\! \left(x \right) = F_{216}\! \left(x \right) F_{42}\! \left(x \right)
F_{216}\! \left(x \right) = F_{217}\! \left(x \right)+F_{60}\! \left(x \right)
F_{217}\! \left(x \right) = F_{218}\! \left(x \right)+F_{61}\! \left(x \right)
F_{218}\! \left(x \right) = F_{219}\! \left(x \right)+F_{221}\! \left(x \right)+F_{229}\! \left(x \right)+F_{48}\! \left(x \right)
F_{219}\! \left(x \right) = F_{220}\! \left(x \right) F_{4}\! \left(x \right)
F_{220}\! \left(x \right) = F_{218}\! \left(x \right)+F_{61}\! \left(x \right)
F_{221}\! \left(x \right) = F_{222}\! \left(x \right) F_{4}\! \left(x \right)
F_{222}\! \left(x \right) = F_{223}\! \left(x \right)+F_{226}\! \left(x \right)
F_{223}\! \left(x \right) = F_{224}\! \left(x \right)
F_{224}\! \left(x \right) = F_{225}\! \left(x \right) F_{4}\! \left(x \right)
F_{225}\! \left(x \right) = F_{223}\! \left(x \right)+F_{42}\! \left(x \right)
F_{226}\! \left(x \right) = 2 F_{48}\! \left(x \right)+F_{221}\! \left(x \right)+F_{227}\! \left(x \right)
F_{227}\! \left(x \right) = F_{228}\! \left(x \right) F_{4}\! \left(x \right)
F_{228}\! \left(x \right) = F_{226}\! \left(x \right)+F_{61}\! \left(x \right)
F_{229}\! \left(x \right) = F_{230}\! \left(x \right) F_{4}\! \left(x \right)
F_{230}\! \left(x \right) = F_{231}\! \left(x \right)+F_{234}\! \left(x \right)
F_{231}\! \left(x \right) = F_{232}\! \left(x \right)
F_{232}\! \left(x \right) = F_{233}\! \left(x \right) F_{4}\! \left(x \right)
F_{233}\! \left(x \right) = F_{231}\! \left(x \right)+F_{42}\! \left(x \right)
F_{234}\! \left(x \right) = 2 F_{48}\! \left(x \right)+F_{229}\! \left(x \right)+F_{235}\! \left(x \right)
F_{235}\! \left(x \right) = F_{236}\! \left(x \right) F_{4}\! \left(x \right)
F_{236}\! \left(x \right) = F_{223}\! \left(x \right)+F_{237}\! \left(x \right)
F_{237}\! \left(x \right) = F_{235}\! \left(x \right)
F_{238}\! \left(x \right) = F_{239}\! \left(x \right)+F_{93}\! \left(x \right)
F_{239}\! \left(x \right) = F_{42}\! \left(x \right) F_{60}\! \left(x \right)
F_{240}\! \left(x \right) = F_{42}\! \left(x \right) F_{83}\! \left(x \right)
F_{241}\! \left(x \right) = F_{242}\! \left(x \right)+F_{250}\! \left(x \right)
F_{242}\! \left(x \right) = -F_{247}\! \left(x \right)+F_{243}\! \left(x \right)
F_{243}\! \left(x \right) = F_{244}\! \left(x \right)+F_{245}\! \left(x \right)
F_{244}\! \left(x \right) = F_{23}\! \left(x \right) F_{59}\! \left(x \right)
F_{245}\! \left(x \right) = F_{246}\! \left(x \right) F_{42}\! \left(x \right)
F_{246}\! \left(x \right) = F_{222}\! \left(x \right)+F_{63}\! \left(x \right)
F_{247}\! \left(x \right) = F_{248}\! \left(x \right)+F_{249}\! \left(x \right)
F_{248}\! \left(x \right) = F_{42}\! \left(x \right) F_{59}\! \left(x \right)
F_{249}\! \left(x \right) = F_{41}\! \left(x \right) F_{45}\! \left(x \right)
F_{250}\! \left(x \right) = F_{243}\! \left(x \right) F_{42}\! \left(x \right)
F_{251}\! \left(x \right) = F_{252}\! \left(x \right) F_{42}\! \left(x \right)
F_{252}\! \left(x \right) = F_{203}\! \left(x \right)+F_{253}\! \left(x \right)
F_{253}\! \left(x \right) = F_{254}\! \left(x \right)+F_{256}\! \left(x \right)
F_{254}\! \left(x \right) = F_{255}\! \left(x \right)
F_{255}\! \left(x \right) = F_{4}\! \left(x \right) F_{58}\! \left(x \right)
F_{256}\! \left(x \right) = -F_{73}\! \left(x \right)+F_{257}\! \left(x \right)
F_{257}\! \left(x \right) = F_{100}\! \left(x \right)+F_{258}\! \left(x \right)
F_{258}\! \left(x \right) = -F_{104}\! \left(x \right)+F_{259}\! \left(x \right)
F_{259}\! \left(x \right) = -F_{266}\! \left(x \right)+F_{260}\! \left(x \right)
F_{260}\! \left(x \right) = \frac{F_{261}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{261}\! \left(x \right) = F_{262}\! \left(x \right)
F_{262}\! \left(x \right) = -F_{23}\! \left(x \right)+F_{263}\! \left(x \right)
F_{263}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{264}\! \left(x \right)
F_{264}\! \left(x \right) = \frac{F_{265}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{265}\! \left(x \right) = F_{2}\! \left(x \right)
F_{266}\! \left(x \right) = -F_{269}\! \left(x \right)+F_{267}\! \left(x \right)
F_{267}\! \left(x \right) = \frac{F_{268}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{268}\! \left(x \right) = F_{263}\! \left(x \right)
F_{269}\! \left(x \right) = \frac{F_{270}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{270}\! \left(x \right) = F_{89}\! \left(x \right)
F_{271}\! \left(x \right) = -F_{277}\! \left(x \right)+F_{272}\! \left(x \right)
F_{272}\! \left(x \right) = -F_{275}\! \left(x \right)+F_{273}\! \left(x \right)
F_{273}\! \left(x \right) = \frac{F_{274}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{274}\! \left(x \right) = F_{103}\! \left(x \right)
F_{275}\! \left(x \right) = F_{276}\! \left(x \right) F_{42}\! \left(x \right)
F_{276}\! \left(x \right) = F_{269}\! \left(x \right)+F_{272}\! \left(x \right)
F_{277}\! \left(x \right) = F_{278}\! \left(x \right)+F_{282}\! \left(x \right)+F_{48}\! \left(x \right)
F_{278}\! \left(x \right) = F_{279}\! \left(x \right) F_{4}\! \left(x \right)
F_{279}\! \left(x \right) = F_{278}\! \left(x \right)+F_{280}\! \left(x \right)+F_{41}\! \left(x \right)
F_{280}\! \left(x \right) = F_{281}\! \left(x \right)
F_{281}\! \left(x \right) = F_{279}\! \left(x \right) F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{282}\! \left(x \right) = F_{283}\! \left(x \right)
F_{283}\! \left(x \right) = F_{277}\! \left(x \right) F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{284}\! \left(x \right) = F_{285}\! \left(x \right)+F_{296}\! \left(x \right)
F_{285}\! \left(x \right) = F_{175}\! \left(x \right)+F_{286}\! \left(x \right)
F_{286}\! \left(x \right) = -F_{292}\! \left(x \right)+F_{287}\! \left(x \right)
F_{287}\! \left(x \right) = -F_{290}\! \left(x \right)+F_{288}\! \left(x \right)
F_{288}\! \left(x \right) = \frac{F_{289}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{289}\! \left(x \right) = F_{182}\! \left(x \right)
F_{290}\! \left(x \right) = F_{291}\! \left(x \right) F_{42}\! \left(x \right)
F_{291}\! \left(x \right) = F_{144}\! \left(x \right)+F_{287}\! \left(x \right)
F_{292}\! \left(x \right) = F_{293}\! \left(x \right)+F_{294}\! \left(x \right)+F_{48}\! \left(x \right)
F_{293}\! \left(x \right) = F_{279}\! \left(x \right) F_{4}\! \left(x \right)
F_{294}\! \left(x \right) = F_{295}\! \left(x \right)
F_{295}\! \left(x \right) = F_{292}\! \left(x \right) F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{296}\! \left(x \right) = F_{297}\! \left(x \right) F_{42}\! \left(x \right)
F_{297}\! \left(x \right) = F_{298}\! \left(x \right)+F_{76}\! \left(x \right)
F_{298}\! \left(x \right) = F_{299}\! \left(x \right)+F_{302}\! \left(x \right)
F_{299}\! \left(x \right) = F_{300}\! \left(x \right)
F_{300}\! \left(x \right) = F_{301}\! \left(x \right) F_{4}\! \left(x \right)
F_{301}\! \left(x \right) = F_{299}\! \left(x \right)+F_{42}\! \left(x \right)
F_{302}\! \left(x \right) = 2 F_{48}\! \left(x \right)+F_{303}\! \left(x \right)+F_{305}\! \left(x \right)
F_{303}\! \left(x \right) = F_{304}\! \left(x \right) F_{4}\! \left(x \right)
F_{304}\! \left(x \right) = F_{302}\! \left(x \right)+F_{74}\! \left(x \right)
F_{305}\! \left(x \right) = F_{298}\! \left(x \right) F_{4}\! \left(x \right)
F_{306}\! \left(x \right) = F_{166}\! \left(x \right)+F_{23}\! \left(x \right)
F_{307}\! \left(x \right) = F_{23}\! \left(x \right) F_{42}\! \left(x \right)
F_{308}\! \left(x \right) = F_{309}\! \left(x \right) F_{41}\! \left(x \right)
F_{309}\! \left(x \right) = F_{200}\! \left(x \right)+F_{286}\! \left(x \right)
F_{310}\! \left(x \right) = F_{175}\! \left(x \right) F_{42}\! \left(x \right)
F_{311}\! \left(x \right) = F_{312}\! \left(x \right)+F_{313}\! \left(x \right)
F_{312}\! \left(x \right) = F_{100}\! \left(x \right) F_{41}\! \left(x \right)
F_{313}\! \left(x \right) = F_{60} \left(x \right)^{2}
F_{314}\! \left(x \right) = F_{315}\! \left(x \right)+F_{44}\! \left(x \right)
F_{315}\! \left(x \right) = F_{42}\! \left(x \right) F_{6}\! \left(x \right)
F_{316}\! \left(x \right) = F_{317}\! \left(x \right)+F_{318}\! \left(x \right)
F_{317}\! \left(x \right) = F_{100}\! \left(x \right) F_{41}\! \left(x \right)
F_{318}\! \left(x \right) = F_{60}\! \left(x \right) F_{63}\! \left(x \right)
F_{319}\! \left(x \right) = \frac{F_{320}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{320}\! \left(x \right) = F_{321}\! \left(x \right)
F_{321}\! \left(x \right) = -F_{123}\! \left(x \right)+F_{322}\! \left(x \right)
F_{322}\! \left(x \right) = F_{323}\! \left(x \right)
F_{323}\! \left(x \right) = F_{324}\! \left(x \right) F_{4}\! \left(x \right)
F_{324}\! \left(x \right) = \frac{F_{325}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{325}\! \left(x \right) = F_{326}\! \left(x \right)
F_{326}\! \left(x \right) = F_{146}\! \left(x \right)+F_{327}\! \left(x \right)
F_{327}\! \left(x \right) = -F_{100}\! \left(x \right)+F_{328}\! \left(x \right)
F_{328}\! \left(x \right) = F_{329}\! \left(x \right)
F_{329}\! \left(x \right) = F_{330}\! \left(x \right) F_{4}\! \left(x \right)
F_{330}\! \left(x \right) = \frac{F_{331}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{331}\! \left(x \right) = F_{332}\! \left(x \right)
F_{332}\! \left(x \right) = F_{211}\! \left(x \right)+F_{333}\! \left(x \right)
F_{333}\! \left(x \right) = F_{23}\! \left(x \right)+F_{334}\! \left(x \right)
F_{334}\! \left(x \right) = F_{335}\! \left(x \right)
F_{335}\! \left(x \right) = F_{336}\! \left(x \right) F_{4}\! \left(x \right)
F_{336}\! \left(x \right) = F_{238}\! \left(x \right)+F_{333}\! \left(x \right)
F_{337}\! \left(x \right) = F_{150}\! \left(x \right)+F_{338}\! \left(x \right)
F_{338}\! \left(x \right) = F_{339}\! \left(x \right)+F_{340}\! \left(x \right)
F_{339}\! \left(x \right) = F_{23}\! \left(x \right) F_{41}\! \left(x \right)
F_{340}\! \left(x \right) = F_{42}\! \left(x \right) F_{45}\! \left(x \right)
F_{341}\! \left(x \right) = F_{342}\! \left(x \right) F_{42}\! \left(x \right)
F_{342}\! \left(x \right) = F_{128}\! \left(x \right)+F_{8}\! \left(x \right)
F_{343}\! \left(x \right) = -F_{346}\! \left(x \right)+F_{344}\! \left(x \right)
F_{344}\! \left(x \right) = \frac{F_{345}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{345}\! \left(x \right) = F_{150}\! \left(x \right)
F_{346}\! \left(x \right) = F_{319}\! \left(x \right)+F_{347}\! \left(x \right)
F_{347}\! \left(x \right) = F_{76} \left(x \right)^{2}
F_{348}\! \left(x \right) = F_{349}\! \left(x \right)
F_{349}\! \left(x \right) = F_{350}\! \left(x \right) F_{4}\! \left(x \right)
F_{350}\! \left(x \right) = F_{351}\! \left(x \right)+F_{353}\! \left(x \right)
F_{351}\! \left(x \right) = F_{352}\! \left(x \right)
F_{352}\! \left(x \right) = F_{41}\! \left(x \right) F_{92}\! \left(x \right)
F_{353}\! \left(x \right) = F_{354}\! \left(x \right)
F_{354}\! \left(x \right) = F_{355}\! \left(x \right) F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{355}\! \left(x \right) = F_{356}\! \left(x \right)+F_{95}\! \left(x \right)
F_{356}\! \left(x \right) = F_{357}\! \left(x \right)
F_{357}\! \left(x \right) = F_{358}\! \left(x \right) F_{41}\! \left(x \right)
F_{358}\! \left(x \right) = F_{359}\! \left(x \right)+F_{360}\! \left(x \right)
F_{359}\! \left(x \right) = F_{223}\! \left(x \right)+F_{42}\! \left(x \right)
F_{360}\! \left(x \right) = F_{226}\! \left(x \right)+F_{61}\! \left(x \right)
F_{361}\! \left(x \right) = F_{362}\! \left(x \right)+F_{364}\! \left(x \right)
F_{362}\! \left(x \right) = F_{123}\! \left(x \right)+F_{363}\! \left(x \right)
F_{363}\! \left(x \right) = F_{176}\! \left(x \right) F_{42}\! \left(x \right)
F_{364}\! \left(x \right) = F_{365}\! \left(x \right)
F_{365}\! \left(x \right) = F_{366}\! \left(x \right) F_{4}\! \left(x \right)
F_{366}\! \left(x \right) = F_{367}\! \left(x \right)+F_{369}\! \left(x \right)
F_{367}\! \left(x \right) = F_{319}\! \left(x \right)+F_{368}\! \left(x \right)
F_{368}\! \left(x \right) = F_{133}\! \left(x \right) F_{42}\! \left(x \right)
F_{369}\! \left(x \right) = F_{76} \left(x \right)^{2} F_{41}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_5(x))
Eq(F_4(x), x)
Eq(F_5(x), F_17(x) + F_6(x))
Eq(F_6(x), F_1(x) + F_7(x))
Eq(F_7(x), F_4(x)*F_8(x))
Eq(F_8(x), F_1(x) + F_10(x) + F_9(x))
Eq(F_9(x), F_4(x)*F_8(x))
Eq(F_10(x), F_11(x)*F_4(x))
Eq(F_11(x), F_12(x, 1))
Eq(F_12(x, k_0), (-k_0*F_13(x, k_0) + F_13(x, 1))/(1 - k_0))
Eq(F_13(x, k_0), F_1(x) + F_14(x, k_0) + F_16(x, k_0))
Eq(F_14(x, k_0), F_13(x, k_0)*F_15(x, k_0))
Eq(F_15(x, k_0), k_0*x)
Eq(F_16(x, k_0), F_12(x, k_0)*F_4(x))
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_19(x)*F_4(x))
Eq(F_19(x), F_20(x) + F_361(x))
Eq(F_20(x), F_21(x) + F_348(x))
Eq(F_21(x), F_22(x) + F_6(x))
Eq(F_22(x), F_23(x) + F_24(x))
Eq(F_23(x), F_7(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_26(x)*F_4(x))
Eq(F_26(x), F_27(x) + F_343(x))
Eq(F_27(x), F_28(x) - F_34(x))
Eq(F_28(x), F_29(x)/F_4(x))
Eq(F_29(x), F_30(x))
Eq(F_30(x), -F_23(x) + F_31(x))
Eq(F_31(x), F_32(x) - F_6(x))
Eq(F_32(x), F_33(x)/F_4(x))
Eq(F_33(x), F_2(x))
Eq(F_34(x), F_35(x) - F_38(x))
Eq(F_35(x), F_36(x)/F_4(x))
Eq(F_36(x), F_37(x))
Eq(F_37(x), F_23(x) + F_30(x))
Eq(F_38(x), F_39(x) + F_54(x))
Eq(F_39(x), F_40(x) + F_44(x))
Eq(F_40(x), F_41(x)*F_6(x))
Eq(F_41(x), F_1(x) + F_42(x))
Eq(F_42(x), F_43(x))
Eq(F_43(x), F_4(x)*F_41(x))
Eq(F_44(x), F_41(x)*F_45(x))
Eq(F_45(x), F_46(x))
Eq(F_46(x), F_4(x)*F_47(x))
Eq(F_47(x), F_48(x) + F_49(x) + F_9(x))
Eq(F_48(x), 0)
Eq(F_49(x), F_4(x)*F_50(x))
Eq(F_50(x), F_51(x, 1))
Eq(F_51(x, k_0), (-k_0*F_52(x, k_0) + F_52(x, 1))/(1 - k_0))
Eq(F_52(x, k_0), F_14(x, k_0) + F_48(x) + F_53(x, k_0))
Eq(F_53(x, k_0), F_4(x)*F_51(x, k_0))
Eq(F_54(x), F_55(x))
Eq(F_55(x), F_4(x)*F_56(x))
Eq(F_56(x), F_109(x) + F_57(x))
Eq(F_57(x), F_41(x)*F_58(x))
Eq(F_58(x), F_59(x) + F_65(x))
Eq(F_59(x), F_41(x) + F_60(x))
Eq(F_60(x), F_42(x) + F_61(x))
Eq(F_61(x), F_48(x) + F_62(x) + F_64(x))
Eq(F_62(x), F_4(x)*F_63(x))
Eq(F_63(x), F_42(x) + F_61(x))
Eq(F_64(x), F_4(x)*F_60(x))
Eq(F_65(x), -F_105(x) + F_66(x))
Eq(F_66(x), F_67(x)/F_4(x))
Eq(F_67(x), F_68(x))
Eq(F_68(x), F_4(x)*F_69(x))
Eq(F_69(x), F_70(x) + F_78(x))
Eq(F_70(x), F_71(x) + F_72(x))
Eq(F_71(x), F_23(x)*F_41(x))
Eq(F_72(x), F_42(x)*F_73(x))
Eq(F_73(x), F_42(x) + F_74(x))
Eq(F_74(x), F_48(x) + F_75(x) + F_77(x))
Eq(F_75(x), F_4(x)*F_76(x))
Eq(F_76(x), F_42(x) + F_74(x))
Eq(F_77(x), F_4(x)*F_73(x))
Eq(F_78(x), F_79(x) + F_81(x))
Eq(F_79(x), F_80(x))
Eq(F_80(x), F_4(x)*F_58(x))
Eq(F_81(x), F_82(x))
Eq(F_82(x), F_4(x)*F_41(x)*F_83(x))
Eq(F_83(x), F_84(x) + F_85(x))
Eq(F_84(x), F_71(x) + F_81(x))
Eq(F_85(x), F_86(x) - F_98(x))
Eq(F_86(x), F_87(x)/(F_4(x)*F_41(x)))
Eq(F_87(x), F_88(x))
Eq(F_88(x), F_103(x) + F_89(x))
Eq(F_89(x), F_90(x))
Eq(F_90(x), F_4(x)*F_91(x))
Eq(F_91(x), F_92(x) + F_93(x))
Eq(F_92(x), F_6(x) + F_89(x))
Eq(F_93(x), F_94(x))
Eq(F_94(x), F_4(x)*F_95(x))
Eq(F_95(x), F_96(x)/F_4(x))
Eq(F_96(x), F_97(x))
Eq(F_97(x), -F_92(x) + F_98(x))
Eq(F_98(x), F_99(x)/F_4(x))
Eq(F_99(x), F_100(x))
Eq(F_100(x), F_101(x) - F_6(x))
Eq(F_101(x), F_102(x)/F_4(x))
Eq(F_102(x), F_23(x))
Eq(F_103(x), -F_104(x) + F_97(x))
Eq(F_104(x), F_42(x)*F_6(x))
Eq(F_105(x), F_106(x))
Eq(F_106(x), F_107(x)*F_4(x))
Eq(F_107(x), F_108(x)/F_4(x))
Eq(F_108(x), F_84(x))
Eq(F_109(x), F_110(x) - F_341(x))
Eq(F_110(x), F_111(x)/F_4(x))
Eq(F_111(x), F_112(x))
Eq(F_112(x), F_113(x) - F_337(x))
Eq(F_113(x), F_114(x) + F_150(x))
Eq(F_114(x), F_115(x) - F_122(x))
Eq(F_115(x), F_116(x)/F_4(x))
Eq(F_116(x), F_117(x))
Eq(F_117(x), F_118(x) - F_23(x))
Eq(F_118(x), F_119(x) - F_6(x))
Eq(F_119(x), F_120(x) + F_6(x))
Eq(F_120(x), F_121(x))
Eq(F_121(x), F_35(x)*F_4(x))
Eq(F_122(x), F_123(x) + F_150(x))
Eq(F_123(x), F_124(x) + F_23(x))
Eq(F_124(x), F_125(x))
Eq(F_125(x), F_126(x)*F_4(x))
Eq(F_126(x), F_123(x) + F_127(x))
Eq(F_127(x), F_128(x) + F_149(x))
Eq(F_128(x), F_129(x))
Eq(F_129(x), F_130(x)*F_4(x))
Eq(F_130(x), F_131(x) + F_133(x))
Eq(F_131(x), F_132(x))
Eq(F_132(x), F_41(x)*F_59(x))
Eq(F_133(x), F_134(x)/F_4(x))
Eq(F_134(x), F_135(x))
Eq(F_135(x), F_136(x) - F_63(x))
Eq(F_136(x), F_137(x) - F_141(x))
Eq(F_137(x), F_138(x)/F_4(x))
Eq(F_138(x), F_139(x))
Eq(F_139(x), F_140(x) - F_23(x))
Eq(F_140(x), F_5(x) - F_6(x))
Eq(F_141(x), F_142(x) - F_144(x))
Eq(F_142(x), F_143(x)/F_4(x))
Eq(F_143(x), F_140(x))
Eq(F_144(x), F_145(x)/F_4(x))
Eq(F_145(x), F_146(x))
Eq(F_146(x), F_147(x) - F_6(x))
Eq(F_147(x), F_148(x)/F_4(x))
Eq(F_148(x), F_23(x))
Eq(F_149(x), F_42(x)*F_63(x))
Eq(F_150(x), F_151(x))
Eq(F_151(x), F_152(x)*F_4(x))
Eq(F_152(x), F_153(x) + F_319(x))
Eq(F_153(x), F_154(x) - F_316(x))
Eq(F_154(x), F_155(x)/F_4(x))
Eq(F_155(x), F_156(x))
Eq(F_156(x), F_157(x) - F_314(x))
Eq(F_157(x), F_158(x))
Eq(F_158(x), F_159(x)*F_4(x))
Eq(F_159(x), F_160(x) + F_311(x))
Eq(F_160(x), F_161(x) + F_162(x))
Eq(F_161(x), F_101(x) + F_157(x))
Eq(F_162(x), F_163(x) + F_189(x))
Eq(F_163(x), F_164(x) - F_175(x))
Eq(F_164(x), F_165(x)/F_4(x))
Eq(F_165(x), F_166(x))
Eq(F_166(x), F_167(x))
Eq(F_167(x), F_168(x)*F_4(x))
Eq(F_168(x), F_169(x) + F_174(x))
Eq(F_169(x), F_170(x) + F_42(x))
Eq(F_170(x), F_171(x))
Eq(F_171(x), F_172(x)*F_4(x))
Eq(F_172(x), F_163(x) + F_173(x))
Eq(F_173(x), F_42(x)*F_59(x))
Eq(F_174(x), F_175(x) + F_188(x))
Eq(F_175(x), F_135(x) + F_176(x))
Eq(F_176(x), F_177(x) + F_23(x))
Eq(F_177(x), F_178(x))
Eq(F_178(x), F_179(x)*F_4(x))
Eq(F_179(x), F_180(x) + F_181(x))
Eq(F_180(x), F_23(x)*F_41(x))
Eq(F_181(x), F_146(x) + F_182(x))
Eq(F_182(x), F_183(x) - F_187(x))
Eq(F_183(x), -F_147(x) + F_184(x))
Eq(F_184(x), F_185(x)/F_4(x))
Eq(F_185(x), F_186(x))
Eq(F_186(x), -F_6(x) + F_8(x))
Eq(F_187(x), F_42(x)*F_6(x))
Eq(F_188(x), F_42(x)*F_76(x))
Eq(F_189(x), F_190(x) - F_310(x))
Eq(F_190(x), F_191(x) - F_308(x))
Eq(F_191(x), F_192(x)/F_4(x))
Eq(F_192(x), F_193(x))
Eq(F_193(x), F_194(x) - F_307(x))
Eq(F_194(x), F_195(x) - F_306(x))
Eq(F_195(x), F_180(x) + F_196(x))
Eq(F_196(x), F_197(x))
Eq(F_197(x), F_198(x)*F_4(x)*F_41(x))
Eq(F_198(x), F_199(x) + F_284(x))
Eq(F_199(x), F_169(x) + F_200(x))
Eq(F_200(x), F_201(x) - F_271(x))
Eq(F_201(x), F_202(x) + F_203(x))
Eq(F_202(x), F_23(x)*F_60(x))
Eq(F_203(x), F_204(x) - F_251(x))
Eq(F_204(x), F_205(x) - F_241(x))
Eq(F_205(x), F_206(x)/F_4(x))
Eq(F_206(x), F_207(x))
Eq(F_207(x), F_208(x))
Eq(F_208(x), F_209(x)*F_4(x))
Eq(F_209(x), F_210(x) + F_240(x))
Eq(F_210(x), F_211(x) + F_213(x))
Eq(F_211(x), F_207(x) + F_212(x))
Eq(F_212(x), F_23(x)*F_42(x))
Eq(F_213(x), F_214(x) - F_238(x))
Eq(F_214(x), F_215(x) + F_85(x))
Eq(F_215(x), F_216(x)*F_42(x))
Eq(F_216(x), F_217(x) + F_60(x))
Eq(F_217(x), F_218(x) + F_61(x))
Eq(F_218(x), F_219(x) + F_221(x) + F_229(x) + F_48(x))
Eq(F_219(x), F_220(x)*F_4(x))
Eq(F_220(x), F_218(x) + F_61(x))
Eq(F_221(x), F_222(x)*F_4(x))
Eq(F_222(x), F_223(x) + F_226(x))
Eq(F_223(x), F_224(x))
Eq(F_224(x), F_225(x)*F_4(x))
Eq(F_225(x), F_223(x) + F_42(x))
Eq(F_226(x), F_221(x) + F_227(x) + 2*F_48(x))
Eq(F_227(x), F_228(x)*F_4(x))
Eq(F_228(x), F_226(x) + F_61(x))
Eq(F_229(x), F_230(x)*F_4(x))
Eq(F_230(x), F_231(x) + F_234(x))
Eq(F_231(x), F_232(x))
Eq(F_232(x), F_233(x)*F_4(x))
Eq(F_233(x), F_231(x) + F_42(x))
Eq(F_234(x), F_229(x) + F_235(x) + 2*F_48(x))
Eq(F_235(x), F_236(x)*F_4(x))
Eq(F_236(x), F_223(x) + F_237(x))
Eq(F_237(x), F_235(x))
Eq(F_238(x), F_239(x) + F_93(x))
Eq(F_239(x), F_42(x)*F_60(x))
Eq(F_240(x), F_42(x)*F_83(x))
Eq(F_241(x), F_242(x) + F_250(x))
Eq(F_242(x), F_243(x) - F_247(x))
Eq(F_243(x), F_244(x) + F_245(x))
Eq(F_244(x), F_23(x)*F_59(x))
Eq(F_245(x), F_246(x)*F_42(x))
Eq(F_246(x), F_222(x) + F_63(x))
Eq(F_247(x), F_248(x) + F_249(x))
Eq(F_248(x), F_42(x)*F_59(x))
Eq(F_249(x), F_41(x)*F_45(x))
Eq(F_250(x), F_243(x)*F_42(x))
Eq(F_251(x), F_252(x)*F_42(x))
Eq(F_252(x), F_203(x) + F_253(x))
Eq(F_253(x), F_254(x) + F_256(x))
Eq(F_254(x), F_255(x))
Eq(F_255(x), F_4(x)*F_58(x))
Eq(F_256(x), F_257(x) - F_73(x))
Eq(F_257(x), F_100(x) + F_258(x))
Eq(F_258(x), -F_104(x) + F_259(x))
Eq(F_259(x), F_260(x) - F_266(x))
Eq(F_260(x), F_261(x)/F_4(x))
Eq(F_261(x), F_262(x))
Eq(F_262(x), -F_23(x) + F_263(x))
Eq(F_263(x), F_264(x) - F_6(x))
Eq(F_264(x), F_265(x)/F_4(x))
Eq(F_265(x), F_2(x))
Eq(F_266(x), F_267(x) - F_269(x))
Eq(F_267(x), F_268(x)/F_4(x))
Eq(F_268(x), F_263(x))
Eq(F_269(x), F_270(x)/F_4(x))
Eq(F_270(x), F_89(x))
Eq(F_271(x), F_272(x) - F_277(x))
Eq(F_272(x), F_273(x) - F_275(x))
Eq(F_273(x), F_274(x)/F_4(x))
Eq(F_274(x), F_103(x))
Eq(F_275(x), F_276(x)*F_42(x))
Eq(F_276(x), F_269(x) + F_272(x))
Eq(F_277(x), F_278(x) + F_282(x) + F_48(x))
Eq(F_278(x), F_279(x)*F_4(x))
Eq(F_279(x), F_278(x) + F_280(x) + F_41(x))
Eq(F_280(x), F_281(x))
Eq(F_281(x), F_279(x)*F_4(x)*F_41(x))
Eq(F_282(x), F_283(x))
Eq(F_283(x), F_277(x)*F_4(x)*F_41(x))
Eq(F_284(x), F_285(x) + F_296(x))
Eq(F_285(x), F_175(x) + F_286(x))
Eq(F_286(x), F_287(x) - F_292(x))
Eq(F_287(x), F_288(x) - F_290(x))
Eq(F_288(x), F_289(x)/F_4(x))
Eq(F_289(x), F_182(x))
Eq(F_290(x), F_291(x)*F_42(x))
Eq(F_291(x), F_144(x) + F_287(x))
Eq(F_292(x), F_293(x) + F_294(x) + F_48(x))
Eq(F_293(x), F_279(x)*F_4(x))
Eq(F_294(x), F_295(x))
Eq(F_295(x), F_292(x)*F_4(x)*F_41(x))
Eq(F_296(x), F_297(x)*F_42(x))
Eq(F_297(x), F_298(x) + F_76(x))
Eq(F_298(x), F_299(x) + F_302(x))
Eq(F_299(x), F_300(x))
Eq(F_300(x), F_301(x)*F_4(x))
Eq(F_301(x), F_299(x) + F_42(x))
Eq(F_302(x), F_303(x) + F_305(x) + 2*F_48(x))
Eq(F_303(x), F_304(x)*F_4(x))
Eq(F_304(x), F_302(x) + F_74(x))
Eq(F_305(x), F_298(x)*F_4(x))
Eq(F_306(x), F_166(x) + F_23(x))
Eq(F_307(x), F_23(x)*F_42(x))
Eq(F_308(x), F_309(x)*F_41(x))
Eq(F_309(x), F_200(x) + F_286(x))
Eq(F_310(x), F_175(x)*F_42(x))
Eq(F_311(x), F_312(x) + F_313(x))
Eq(F_312(x), F_100(x)*F_41(x))
Eq(F_313(x), F_60(x)**2)
Eq(F_314(x), F_315(x) + F_44(x))
Eq(F_315(x), F_42(x)*F_6(x))
Eq(F_316(x), F_317(x) + F_318(x))
Eq(F_317(x), F_100(x)*F_41(x))
Eq(F_318(x), F_60(x)*F_63(x))
Eq(F_319(x), F_320(x)/F_4(x))
Eq(F_320(x), F_321(x))
Eq(F_321(x), -F_123(x) + F_322(x))
Eq(F_322(x), F_323(x))
Eq(F_323(x), F_324(x)*F_4(x))
Eq(F_324(x), F_325(x)/F_4(x))
Eq(F_325(x), F_326(x))
Eq(F_326(x), F_146(x) + F_327(x))
Eq(F_327(x), -F_100(x) + F_328(x))
Eq(F_328(x), F_329(x))
Eq(F_329(x), F_330(x)*F_4(x))
Eq(F_330(x), F_331(x)/F_4(x))
Eq(F_331(x), F_332(x))
Eq(F_332(x), F_211(x) + F_333(x))
Eq(F_333(x), F_23(x) + F_334(x))
Eq(F_334(x), F_335(x))
Eq(F_335(x), F_336(x)*F_4(x))
Eq(F_336(x), F_238(x) + F_333(x))
Eq(F_337(x), F_150(x) + F_338(x))
Eq(F_338(x), F_339(x) + F_340(x))
Eq(F_339(x), F_23(x)*F_41(x))
Eq(F_340(x), F_42(x)*F_45(x))
Eq(F_341(x), F_342(x)*F_42(x))
Eq(F_342(x), F_128(x) + F_8(x))
Eq(F_343(x), F_344(x) - F_346(x))
Eq(F_344(x), F_345(x)/F_4(x))
Eq(F_345(x), F_150(x))
Eq(F_346(x), F_319(x) + F_347(x))
Eq(F_347(x), F_76(x)**2)
Eq(F_348(x), F_349(x))
Eq(F_349(x), F_350(x)*F_4(x))
Eq(F_350(x), F_351(x) + F_353(x))
Eq(F_351(x), F_352(x))
Eq(F_352(x), F_41(x)*F_92(x))
Eq(F_353(x), F_354(x))
Eq(F_354(x), F_355(x)*F_4(x)*F_41(x))
Eq(F_355(x), F_356(x) + F_95(x))
Eq(F_356(x), F_357(x))
Eq(F_357(x), F_358(x)*F_41(x))
Eq(F_358(x), F_359(x) + F_360(x))
Eq(F_359(x), F_223(x) + F_42(x))
Eq(F_360(x), F_226(x) + F_61(x))
Eq(F_361(x), F_362(x) + F_364(x))
Eq(F_362(x), F_123(x) + F_363(x))
Eq(F_363(x), F_176(x)*F_42(x))
Eq(F_364(x), F_365(x))
Eq(F_365(x), F_366(x)*F_4(x))
Eq(F_366(x), F_367(x) + F_369(x))
Eq(F_367(x), F_319(x) + F_368(x))
Eq(F_368(x), F_133(x)*F_42(x))
Eq(F_369(x), F_41(x)*F_76(x)**2)
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}, {"class_module": "tilings.strategies.requirement_insertion", "ignore_parent": true, "strategy_class": "RequirementCorroborationFactory"}], "iterative": false, "name": "point_placements_req_corrob_expand_verified", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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}}, "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 0], [2, 1]], [[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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [2, 2]], [[1, 1]]], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [2, 2]], [[1, 1]]], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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}}, "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 0], [2, 1]], [[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": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 0], [2, 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": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [2, 2]], [[1, 1]]], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [2, 2]], [[1, 1]]], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [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"}}, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": 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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 1], [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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [1, 4], [2, 0], [2, 1], [2, 3]]], "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "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": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1], [1, 2], [3, 2]], [[2, 0]]], "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], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "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], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 2], [0, 3], [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, 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, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 2], [0, 4], [0, 1]]}], "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], [2, 0], [2, 2]], [[1, 3]]], "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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], [2, 0]], [[1, 1]]], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [2, 3]], [[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": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [1, 4], [2, 0], [2, 1], [2, 3]]], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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]]}]]}, {"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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]], [[3, 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, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 1], [3, 0], [3, 2]], [[2, 3]]], "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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [2, 0]], [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 2], [3, 0], [4, 2]], [[2, 1]]], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 0]], [[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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"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, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 1], [2, 0], [2, 3], [4, 0]], [[3, 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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 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": [], "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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 1], [3, 3]], [[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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 0], [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": [], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "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": [[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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 4], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"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, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 5]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 5], [3, 5]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 5], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [3, 5]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 5]]}, {"patt": [0, 2, 1], "pos": [[3, 2], [3, 5], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[3, 5], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 1], [3, 0], [3, 2], [3, 5]], [[2, 3]]], "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], "pos": [[0, 0]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 4], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "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": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 2], [2, 2], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 3], [2, 3], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 1], [2, 0], [2, 1], [2, 3], [4, 0]], [[3, 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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 2], [2, 2], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, "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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 0], [1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [3, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [1, 3], [1, 3], [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, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 3], [0, 3], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 3], [2, 3], [2, 4], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 3], [2, 4], [2, 4], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [2, 1], [2, 3], [2, 4]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 1], [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, 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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 2], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [2, 0], [2, 2], [2, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 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": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 2], [0, 3], [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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 3], [0, 4], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [0, 4], [1, 0], [1, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 2], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"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, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [1, 0], [1, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "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], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 0], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1], [1, 3], [3, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [3, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 1], [3, 3]], [[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": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 2]]}, {"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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [5, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[5, 3], [5, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [5, 3]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [5, 3]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [5, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 3], [2, 3], [5, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [5, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 3], [4, 0], [5, 3]], [[1, 1]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}], "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": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [5, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [0, 1], "pos": [[5, 1], [5, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [5, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [5, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 0], [4, 3], [5, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 3]], [[2, 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, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": []}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [1, 3], [1, 3], [1, 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [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, 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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [2, 0], [2, 2], [2, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 2], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [0, 4], [2, 0]], [[1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [1, 0], [2, 1], [2, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[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, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 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, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 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": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 2], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 1], [1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"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], "pos": [[2, 5]]}, {"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, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 5], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [0, 5], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [0, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [1, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 5], [1, 5], [1, 5]]}, {"patt": [1, 0, 2], "pos": [[1, 5], [1, 2], [1, 5]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 5], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 5], [1, 5], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 5], [1, 5], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 5], [1, 5], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [1, 5], [1, 5]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 5], [1, 1], [1, 5], [1, 5]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [0, 5], [1, 1], [1, 2], [1, 5], [3, 0]], [[2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 2], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 4], [1, 1], [1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [1, 1], [1, 3]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 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, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 0]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 4]]}], "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, 3], [2, 0], [2, 2], [2, 4]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 3]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 0], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 1]]}], "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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 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": [], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 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": [[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, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[3, 4], [4, 4]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [4, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 4], [3, 0], [3, 2], [3, 4], [4, 4]], [[2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[4, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1], [2, 0]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 2], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [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": [], "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, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": []}, "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"}}, {"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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"}}, {"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[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": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [4, 1]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1], [1, 2]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 3]], [[1, 1]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 3]], [[1, 1]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [2, 0], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [3, 0], [3, 2]], [[1, 1]], [[2, 3]]], "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": {"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, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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", "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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", "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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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": {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [3, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [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": "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": {"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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": "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": [], "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": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": {"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[2, 0], [2, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": [], "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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 3], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 3], [2, 3], [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], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [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": "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, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 3], [0, 3], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 3], [2, 3], [2, 4], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 3], [2, 4], [2, 4], [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": [[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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 3], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 3], [2, 3], [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": "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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [2, 1], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 2], [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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 2], [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, 0]]}, {"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, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 2], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 3], [2, 0], [2, 2], [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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": "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": [], "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, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 2], [0, 4], [0, 1]]}], "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, 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": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 3], [0, 0]]}], "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": [], "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, 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": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 3], [0, 0]]}], "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": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 3], [0, 4], [0, 1]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 3], [0, 0]]}], "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 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", "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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": {"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, 3]]}, {"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], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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": "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": "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": [[0, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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", "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, 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], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 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": "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": "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": [], "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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 2]]}, {"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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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": "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": [], "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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": "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": [[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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": [[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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [2, 0], [3, 1], [3, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [5, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[5, 3], [5, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [5, 3]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [5, 3]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [5, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 3], [2, 3], [5, 3]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [5, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 3]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [5, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [0, 1], "pos": [[5, 1], [5, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [5, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [5, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 3]]}, {"patt": [0, 1], "pos": [[4, 3], [4, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [4, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 0]]}, {"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, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "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", "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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"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], "pos": [[2, 5]]}, {"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, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 5], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [0, 5], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [0, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 5], [1, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 5], [1, 5]]}, {"patt": [0, 1, 2], "pos": [[1, 5], [1, 5], [1, 5]]}, {"patt": [1, 0, 2], "pos": [[1, 5], [1, 2], [1, 5]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 5], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 5], [1, 5], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 5], [1, 5], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 5], [1, 5], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [1, 5], [1, 5]]}, {"patt": [2, 0, 1], "pos": [[1, 5], [1, 1], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 5], [1, 1], [1, 5], [1, 5]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 4]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 3], [1, 0], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"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, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 5]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 5], [3, 5]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 5], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [3, 5]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 5]]}, {"patt": [0, 2, 1], "pos": [[3, 2], [3, 5], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [3, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[3, 5], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 3], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": "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": [[0, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 3], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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": "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 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, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [2, 3], [2, 3], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 3], [1, 3], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 3], [1, 3], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[3, 4], [4, 4]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [4, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[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": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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", "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"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}

Specification 4
Strategy pack name: insertion_point_placements_expand_verified
Tree: http://permpal.com/tree/21110/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[5,x]
F[4,x] = x
F[5,x] = F[19,x]+F[6,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[8,x]
F[8,x] = F[9,x]
F[9,x] = F[10,x]*F[4,x]
F[10,x] = F[1,x]+F[11,x]+F[12,x]
F[11,x] = F[10,x]*F[4,x]
F[12,x] = F[13,x]*F[4,x]
F[13,x] = F[14,x,1]
F[14,x,k[0]] = (F[15,x,k[0]]*k[0]-F[15,x,1])/(-1+k[0])
F[15,x,k[0]] = F[1,x]+F[16,x,k[0]]+F[18,x,k[0]]
F[16,x,k[0]] = F[15,x,k[0]]*F[17,x,k[0]]
F[17,x,k[0]] = k[0]*x
F[18,x,k[0]] = F[14,x,k[0]]*F[4,x]
F[19,x] = F[20,x]+F[8,x]
F[20,x] = F[21,x]
F[21,x] = F[22,x]*F[4,x]
F[22,x] = F[23,x]+F[27,x]
F[23,x] = F[24,x]*F[8,x]
F[24,x] = F[1,x]+F[25,x]
F[25,x] = F[26,x]
F[26,x] = F[24,x]*F[4,x]
F[27,x] = F[28,x]+F[474,x]
F[28,x] = F[102,x]+F[29,x]
F[29,x] = F[30,x]+F[8,x]
F[30,x] = F[31,x]
F[31,x] = F[32,x]*F[4,x]
F[32,x] = F[33,x]+F[82,x]
F[33,x] = F[34,x]+F[73,x]
F[34,x] = F[25,x]+F[35,x]
F[35,x] = F[36,x]+F[8,x]
F[36,x] = F[37,x]
F[37,x] = F[38,x]*F[4,x]
F[38,x] = F[39,x]+F[42,x]
F[39,x] = F[24,x]*F[40,x]
F[40,x] = F[25,x]+F[41,x]
F[41,x] = F[24,x]*F[25,x]
F[42,x] = F[43,x]+F[50,x]
F[43,x] = F[25,x]*F[44,x]
F[44,x] = F[25,x]+F[45,x]
F[45,x] = F[46,x]+F[47,x]+F[49,x]
F[46,x] = 0
F[47,x] = F[4,x]*F[48,x]
F[48,x] = F[25,x]+F[45,x]
F[49,x] = F[4,x]*F[44,x]
F[50,x] = F[51,x]+F[62,x]
F[51,x] = F[36,x]+F[52,x]
F[52,x] = -F[62,x]+F[53,x]
F[53,x] = -F[61,x]+F[54,x]
F[54,x] = -F[60,x]+F[55,x]
F[55,x] = 1/F[4,x]*F[56,x]
F[56,x] = F[57,x]
F[57,x] = -F[8,x]+F[58,x]
F[58,x] = -F[24,x]+F[59,x]
F[59,x] = 1/F[4,x]*F[7,x]
F[60,x] = F[24,x]*F[40,x]
F[61,x] = F[43,x]+F[57,x]
F[62,x] = F[25,x]*F[63,x]
F[63,x] = F[46,x]+F[64,x]+F[71,x]
F[64,x] = F[65,x]
F[65,x] = F[24,x]*F[4,x]*F[66,x]
F[66,x] = F[46,x]+F[64,x]+F[67,x]
F[67,x] = F[4,x]*F[68,x]
F[68,x] = F[24,x]+F[67,x]+F[69,x]
F[69,x] = F[70,x]
F[70,x] = F[24,x]*F[4,x]*F[68,x]
F[71,x] = F[4,x]*F[72,x]
F[72,x] = F[46,x]+F[69,x]+F[71,x]
F[73,x] = F[74,x]+F[88,x]
F[74,x] = F[75,x]
F[75,x] = F[4,x]*F[76,x]
F[76,x] = F[77,x]+F[82,x]
F[77,x] = F[40,x]+F[78,x]
F[78,x] = F[79,x]+F[80,x]
F[79,x] = F[25,x]^2
F[80,x] = F[74,x]+F[81,x]
F[81,x] = F[25,x]*F[45,x]
F[82,x] = F[25,x]*F[83,x]
F[83,x] = F[25,x]+F[84,x]
F[84,x] = F[46,x]+F[85,x]+F[87,x]
F[85,x] = F[4,x]*F[86,x]
F[86,x] = F[25,x]+F[84,x]
F[87,x] = F[4,x]*F[83,x]
F[88,x] = -F[45,x]+F[89,x]
F[89,x] = -F[34,x]+F[90,x]
F[90,x] = 1/F[4,x]*F[91,x]
F[91,x] = F[92,x]
F[92,x] = F[93,x]
F[93,x] = F[4,x]*F[94,x]
F[94,x] = F[34,x]+F[95,x]
F[95,x] = F[96,x]+F[97,x]
F[96,x] = F[25,x]^2
F[97,x] = -F[101,x]+F[98,x]
F[98,x] = -F[35,x]+F[99,x]
F[99,x] = 1/F[4,x]*F[100,x]
F[100,x] = F[36,x]
F[101,x] = F[24,x]*F[25,x]
F[102,x] = F[103,x]+F[156,x]
F[103,x] = F[104,x]
F[104,x] = F[105,x]*F[4,x]
F[105,x] = F[106,x]+F[115,x]
F[106,x] = F[107,x]+F[25,x]
F[107,x] = F[108,x]
F[108,x] = F[109,x]*F[4,x]
F[109,x] = F[110,x]+F[112,x]
F[110,x] = F[111,x]*F[25,x]
F[111,x] = F[24,x]+F[44,x]
F[112,x] = F[113,x]+F[41,x]
F[113,x] = F[107,x]+F[114,x]
F[114,x] = F[25,x]*F[84,x]
F[115,x] = F[116,x]+F[331,x]
F[116,x] = F[117,x]+F[128,x]
F[117,x] = F[118,x]+F[119,x]
F[118,x] = F[25,x]*F[6,x]
F[119,x] = F[120,x]*F[24,x]
F[120,x] = F[121,x]
F[121,x] = F[122,x]*F[4,x]
F[122,x] = F[11,x]+F[123,x]+F[46,x]
F[123,x] = F[124,x]*F[4,x]
F[124,x] = F[125,x,1]
F[125,x,k[0]] = (F[126,x,k[0]]*k[0]-F[126,x,1])/(-1+k[0])
F[126,x,k[0]] = F[127,x,k[0]]+F[16,x,k[0]]+F[46,x]
F[127,x,k[0]] = F[125,x,k[0]]*F[4,x]
F[128,x] = -F[223,x]+F[129,x]
F[129,x] = -F[222,x]+F[130,x]
F[130,x] = 1/F[4,x]*F[131,x]
F[131,x] = F[132,x]
F[132,x] = F[133,x]
F[133,x] = F[134,x]*F[4,x]
F[134,x] = F[135,x]+F[141,x]
F[135,x] = F[136,x]+F[138,x]
F[136,x] = F[137,x]+F[74,x]
F[137,x] = F[25,x]*F[45,x]
F[138,x] = F[139,x]+F[140,x]
F[139,x] = F[25,x]*F[74,x]
F[140,x] = F[45,x]^2
F[141,x] = F[142,x]+F[150,x]
F[142,x] = F[143,x]+F[57,x]
F[143,x] = -F[78,x]+F[144,x]
F[144,x] = -F[147,x]+F[145,x]
F[145,x] = 1/F[4,x]*F[146,x]
F[146,x] = F[74,x]
F[147,x] = F[148,x]
F[148,x] = 2*F[149,x]
F[149,x] = F[24,x]*F[25,x]
F[150,x] = F[132,x]+F[151,x]
F[151,x] = -F[221,x]+F[152,x]
F[152,x] = -F[208,x]+F[153,x]
F[153,x] = -F[205,x]+F[154,x]
F[154,x] = 1/F[4,x]*F[155,x]
F[155,x] = F[156,x]
F[156,x] = F[157,x]
F[157,x] = F[158,x]*F[4,x]
F[158,x] = F[159,x]+F[180,x]
F[159,x] = F[160,x]+F[162,x]
F[160,x] = F[114,x]+F[161,x]
F[161,x] = F[25,x]*F[34,x]
F[162,x] = F[163,x]+F[184,x]
F[163,x] = F[164,x]+F[165,x]
F[164,x] = F[25,x]*F[84,x]
F[165,x] = F[156,x]+F[166,x]
F[166,x] = -F[172,x]+F[167,x]
F[167,x] = -F[164,x]+F[168,x]
F[168,x] = -F[161,x]+F[169,x]
F[169,x] = -F[180,x]+F[170,x]
F[170,x] = 1/F[4,x]*F[171,x]
F[171,x] = F[172,x]
F[172,x] = -F[84,x]+F[173,x]
F[173,x] = -F[176,x]+F[174,x]
F[174,x] = 1/F[4,x]*F[175,x]
F[175,x] = F[36,x]
F[176,x] = F[177,x]+F[178,x]
F[177,x] = F[25,x]+F[36,x]
F[178,x] = F[179,x]*F[25,x]
F[179,x] = F[24,x]+F[35,x]
F[180,x] = F[181,x]*F[25,x]
F[181,x] = F[182,x]+F[183,x]
F[182,x] = F[24,x]*F[34,x]
F[183,x] = F[168,x]+F[95,x]
F[184,x] = F[185,x]*F[25,x]
F[185,x] = F[186,x]+F[188,x]+F[196,x]+F[46,x]
F[186,x] = F[187,x]*F[4,x]
F[187,x] = F[185,x]+F[84,x]
F[188,x] = F[189,x]*F[4,x]
F[189,x] = F[190,x]+F[193,x]
F[190,x] = F[191,x]
F[191,x] = F[192,x]*F[4,x]
F[192,x] = F[190,x]+F[25,x]
F[193,x] = 2*F[46,x]+F[188,x]+F[194,x]
F[194,x] = F[195,x]*F[4,x]
F[195,x] = F[193,x]+F[84,x]
F[196,x] = F[197,x]*F[4,x]
F[197,x] = F[198,x]+F[201,x]
F[198,x] = F[199,x]
F[199,x] = F[200,x]*F[4,x]
F[200,x] = F[198,x]+F[25,x]
F[201,x] = 2*F[46,x]+F[196,x]+F[202,x]
F[202,x] = F[203,x]*F[4,x]
F[203,x] = F[190,x]+F[204,x]
F[204,x] = F[202,x]
F[205,x] = F[206,x]
F[206,x] = F[160,x]+F[207,x]
F[207,x] = F[24,x]*F[25,x]*F[34,x]
F[208,x] = -F[221,x]+F[209,x]
F[209,x] = -F[220,x]+F[210,x]
F[210,x] = -F[213,x]+F[211,x]
F[211,x] = 1/F[4,x]*F[212,x]
F[212,x] = F[156,x]
F[213,x] = F[214,x]*F[25,x]
F[214,x] = F[215,x]+F[217,x]
F[215,x] = F[216,x]
F[216,x] = F[25,x]*F[40,x]
F[217,x] = F[218,x]+F[219,x]
F[218,x] = F[25,x]*F[84,x]
F[219,x] = F[193,x]*F[24,x]
F[220,x] = F[34,x]*F[40,x]
F[221,x] = F[25,x]*F[73,x]
F[222,x] = F[44,x]*F[45,x]
F[223,x] = -F[321,x]+F[224,x]
F[224,x] = -F[307,x]+F[225,x]
F[225,x] = 1/F[4,x]*F[226,x]
F[226,x] = F[227,x]
F[227,x] = F[228,x]*F[4,x]
F[228,x] = F[229,x]+F[274,x]
F[229,x] = F[230,x]+F[272,x]
F[230,x] = F[231,x]+F[266,x]
F[231,x] = F[232,x]
F[232,x] = F[233,x]*F[4,x]
F[233,x] = F[234,x]+F[238,x]
F[234,x] = F[235,x]+F[236,x]
F[235,x] = F[231,x]+F[25,x]
F[236,x] = F[237,x]*F[25,x]
F[237,x] = F[24,x]+F[83,x]
F[238,x] = F[239,x]+F[258,x]
F[239,x] = -F[235,x]+F[240,x]
F[240,x] = -F[247,x]+F[241,x]
F[241,x] = 1/F[4,x]*F[242,x]
F[242,x] = F[243,x]
F[243,x] = -F[8,x]+F[244,x]
F[244,x] = -F[6,x]+F[245,x]
F[245,x] = 1/F[4,x]*F[246,x]
F[246,x] = F[2,x]
F[247,x] = -F[254,x]+F[248,x]
F[248,x] = 1/F[4,x]*F[249,x]
F[249,x] = F[250,x]
F[250,x] = -F[8,x]+F[251,x]
F[251,x] = -F[6,x]+F[252,x]
F[252,x] = 1/F[4,x]*F[253,x]
F[253,x] = F[2,x]
F[254,x] = -F[258,x]+F[255,x]
F[255,x] = -F[236,x]+F[256,x]
F[256,x] = 1/F[4,x]*F[257,x]
F[257,x] = F[92,x]
F[258,x] = F[25,x]*F[259,x]
F[259,x] = F[260,x]
F[260,x] = F[261,x]*F[4,x]
F[261,x] = F[24,x]+F[262,x]+F[263,x]+F[264,x]
F[262,x] = F[261,x]*F[4,x]
F[263,x] = F[237,x]*F[24,x]*F[4,x]
F[264,x] = F[265,x]
F[265,x] = F[24,x]*F[261,x]*F[4,x]
F[266,x] = F[107,x]+F[267,x]
F[267,x] = -F[198,x]+F[268,x]
F[268,x] = -F[112,x]+F[269,x]
F[269,x] = -F[149,x]+F[270,x]
F[270,x] = 1/F[4,x]*F[271,x]
F[271,x] = F[107,x]
F[272,x] = F[25,x]*F[273,x]
F[273,x] = F[203,x]+F[84,x]
F[274,x] = F[275,x]+F[286,x]
F[275,x] = F[276,x]+F[277,x]
F[276,x] = F[231,x]*F[25,x]
F[277,x] = F[132,x]+F[278,x]
F[278,x] = -F[284,x]+F[279,x]
F[279,x] = -F[141,x]+F[280,x]
F[280,x] = -F[283,x]+F[281,x]
F[281,x] = 1/F[4,x]*F[282,x]
F[282,x] = F[132,x]
F[283,x] = F[24,x]*F[74,x]
F[284,x] = F[285,x]
F[285,x] = F[25,x]*F[45,x]
F[286,x] = F[287,x]+F[288,x]
F[287,x] = F[84,x]^2
F[288,x] = F[289,x]
F[289,x] = F[25,x]*F[290,x]
F[290,x] = F[291,x]+F[52,x]
F[291,x] = F[25,x]*F[292,x]
F[292,x] = F[293,x]+F[306,x]+F[46,x]
F[293,x] = F[294,x]
F[294,x] = F[295,x]*F[4,x]
F[295,x] = F[296,x]+F[305,x]
F[296,x] = F[297,x]+F[301,x]+F[46,x]
F[297,x] = F[298,x]
F[298,x] = F[299,x]*F[4,x]
F[299,x] = F[296,x]+F[300,x]
F[300,x] = F[24,x]*F[4,x]*F[66,x]
F[301,x] = F[302,x]*F[4,x]
F[302,x] = F[303,x]+F[46,x]+F[67,x]
F[303,x] = F[304,x]
F[304,x] = F[24,x]*F[302,x]*F[4,x]
F[305,x] = F[24,x]*F[302,x]*F[4,x]
F[306,x] = F[4,x]*F[63,x]
F[307,x] = F[308,x]+F[310,x]
F[308,x] = F[309,x]
F[309,x] = F[239,x]*F[25,x]
F[310,x] = F[222,x]+F[311,x]
F[311,x] = F[312,x]
F[312,x] = F[25,x]^2*F[313,x]
F[313,x] = F[314,x]
F[314,x] = F[315,x]*F[4,x]
F[315,x] = F[316,x]+F[317,x]+F[318,x]+F[46,x]
F[316,x] = F[261,x]*F[4,x]
F[317,x] = F[315,x]*F[4,x]
F[318,x] = F[319,x]
F[319,x] = F[24,x]*F[320,x]*F[4,x]
F[320,x] = F[314,x]+F[83,x]
F[321,x] = F[322,x]+F[74,x]
F[322,x] = F[323,x]
F[323,x] = F[324,x]*F[4,x]
F[324,x] = F[325,x]+F[327,x]
F[325,x] = F[230,x]+F[326,x]
F[326,x] = F[25,x]*F[84,x]
F[327,x] = F[287,x]+F[328,x]
F[328,x] = F[276,x]+F[329,x]
F[329,x] = F[278,x]+F[330,x]
F[330,x] = -F[74,x]+F[128,x]
F[331,x] = F[332,x]+F[338,x]
F[332,x] = F[333,x]
F[333,x] = F[334,x]*F[4,x]
F[334,x] = F[335,x]+F[43,x]
F[335,x] = F[336,x]+F[337,x]
F[336,x] = F[25,x]+F[332,x]
F[337,x] = F[237,x]*F[25,x]
F[338,x] = F[339,x]
F[339,x] = F[340,x]*F[4,x]
F[340,x] = F[341,x]+F[360,x]
F[341,x] = F[342,x]+F[344,x]
F[342,x] = F[343,x]+F[92,x]
F[343,x] = F[25,x]*F[45,x]
F[344,x] = F[345,x]+F[351,x]
F[345,x] = F[346,x]
F[346,x] = F[347,x]*F[4,x]
F[347,x] = F[348,x]+F[349,x]
F[348,x] = F[25,x]+F[345,x]
F[349,x] = F[25,x]*F[350,x]
F[350,x] = F[237,x]+F[44,x]
F[351,x] = -F[357,x]+F[352,x]
F[352,x] = -F[348,x]+F[353,x]
F[353,x] = -F[356,x]+F[354,x]
F[354,x] = 1/F[4,x]*F[355,x]
F[355,x] = F[345,x]
F[356,x] = F[111,x]*F[25,x]
F[357,x] = F[358,x]
F[358,x] = F[359,x]*F[4,x]
F[359,x] = F[25,x]+F[357,x]
F[360,x] = F[361,x]+F[363,x]
F[361,x] = F[140,x]+F[362,x]
F[362,x] = F[25,x]*F[92,x]
F[363,x] = F[364,x]+F[375,x]
F[364,x] = -F[332,x]+F[365,x]
F[365,x] = -F[371,x]+F[366,x]
F[366,x] = -F[369,x]+F[367,x]
F[367,x] = 1/F[4,x]*F[368,x]
F[368,x] = F[103,x]
F[369,x] = F[348,x]+F[370,x]
F[370,x] = F[107,x]+F[8,x]
F[371,x] = F[132,x]+F[372,x]
F[372,x] = F[373,x]+F[374,x]
F[373,x] = F[25,x]*F[8,x]
F[374,x] = F[120,x]*F[25,x]
F[375,x] = -F[473,x]+F[376,x]
F[376,x] = -F[469,x]+F[377,x]
F[377,x] = -F[352,x]+F[378,x]
F[378,x] = 1/F[4,x]*F[379,x]
F[379,x] = F[380,x]
F[380,x] = F[381,x]
F[381,x] = F[382,x]*F[4,x]
F[382,x] = F[383,x]+F[452,x]
F[383,x] = F[384,x]
F[384,x] = F[385,x]+F[388,x]
F[385,x] = F[342,x]+F[386,x]
F[386,x] = F[25,x]*F[387,x]
F[387,x] = F[25,x]+F[83,x]
F[388,x] = F[389,x]+F[394,x]
F[389,x] = F[390,x]
F[390,x] = F[25,x]*F[391,x]
F[391,x] = F[392,x]+F[393,x]
F[392,x] = F[25,x]*F[8,x]
F[393,x] = F[25,x]*F[83,x]
F[394,x] = F[380,x]+F[395,x]
F[395,x] = F[25,x]*F[396,x]
F[396,x] = -F[451,x]+F[397,x]
F[397,x] = -F[433,x]+F[398,x]
F[398,x] = -F[428,x]+F[399,x]
F[399,x] = 1/F[4,x]*F[400,x]
F[400,x] = F[401,x]
F[401,x] = F[402,x]
F[402,x] = F[4,x]*F[403,x]
F[403,x] = F[404,x]+F[410,x]
F[404,x] = F[405,x]+F[406,x]
F[405,x] = F[235,x]*F[25,x]
F[406,x] = F[25,x]*F[407,x]
F[407,x] = F[408,x]+F[409,x]
F[408,x] = F[237,x]*F[25,x]
F[409,x] = F[24,x]*F[48,x]
F[410,x] = F[411,x]+F[412,x]
F[411,x] = F[239,x]*F[25,x]
F[412,x] = F[25,x]*F[413,x]
F[413,x] = F[414,x]+F[427,x]
F[414,x] = F[415,x]+F[416,x]
F[415,x] = F[216,x]
F[416,x] = F[417,x]+F[425,x]
F[417,x] = 2*F[46,x]+F[418,x]+F[420,x]
F[418,x] = F[4,x]*F[419,x]
F[419,x] = F[417,x]+F[45,x]
F[420,x] = F[4,x]*F[421,x]
F[421,x] = F[417,x]+F[422,x]
F[422,x] = F[423,x]
F[423,x] = F[4,x]*F[424,x]
F[424,x] = F[25,x]+F[422,x]
F[425,x] = F[25,x]*F[426,x]
F[426,x] = F[417,x]+F[45,x]
F[427,x] = F[25,x]*F[313,x]
F[428,x] = F[429,x]+F[45,x]
F[429,x] = F[430,x]
F[430,x] = F[4,x]*F[431,x]
F[431,x] = F[406,x]+F[432,x]
F[432,x] = F[25,x]*F[83,x]
F[433,x] = -F[450,x]+F[434,x]
F[434,x] = -F[437,x]+F[435,x]
F[435,x] = 1/F[4,x]*F[436,x]
F[436,x] = F[401,x]
F[437,x] = F[438,x]+F[441,x]
F[438,x] = F[25,x]*F[439,x]
F[439,x] = F[149,x]+F[440,x]
F[440,x] = F[24,x]*F[25,x]
F[441,x] = F[442,x]+F[448,x]
F[442,x] = F[443,x]+F[445,x]
F[443,x] = F[444,x]
F[444,x] = F[25,x]^3
F[445,x] = F[401,x]+F[446,x]
F[446,x] = F[447,x]
F[447,x] = F[25,x]^2*F[45,x]
F[448,x] = F[449,x]
F[449,x] = F[25,x]^2*F[231,x]
F[450,x] = F[429,x]+F[96,x]
F[451,x] = F[392,x]
F[452,x] = F[453,x]
F[453,x] = F[454,x]+F[457,x]
F[454,x] = F[137,x]+F[455,x]
F[455,x] = F[456,x]
F[456,x] = F[25,x]^2*F[83,x]
F[457,x] = F[458,x]+F[467,x]
F[458,x] = F[25,x]*F[459,x]
F[459,x] = -F[45,x]+F[460,x]
F[460,x] = -F[463,x]+F[461,x]
F[461,x] = 1/F[4,x]*F[462,x]
F[462,x] = F[57,x]
F[463,x] = F[40,x]+F[464,x]
F[464,x] = F[465,x]+F[466,x]
F[465,x] = F[25,x]*F[8,x]
F[466,x] = F[24,x]*F[57,x]
F[467,x] = F[468,x]
F[468,x] = F[25,x]*F[83,x]*F[84,x]
F[469,x] = F[223,x]+F[470,x]
F[470,x] = F[310,x]+F[471,x]
F[471,x] = F[472,x]
F[472,x] = F[25,x]*F[254,x]
F[473,x] = F[164,x]
F[474,x] = F[36,x]+F[475,x]
F[475,x] = F[476,x]
F[476,x] = F[4,x]*F[477,x]
F[477,x] = F[478,x]+F[485,x]
F[478,x] = F[479,x]
F[479,x] = F[480,x]+F[484,x]
F[480,x] = F[481,x]+F[482,x]
F[481,x] = F[231,x]+F[267,x]
F[482,x] = F[25,x]*F[483,x]
F[483,x] = F[203,x]+F[86,x]
F[484,x] = F[25,x]*F[44,x]
F[485,x] = F[486,x]+F[487,x]
F[486,x] = F[276,x]+F[278,x]
F[487,x] = F[488,x]+F[491,x]
F[488,x] = F[288,x]+F[489,x]
F[489,x] = F[287,x]+F[490,x]
F[490,x] = F[25,x]*F[36,x]
F[491,x] = -F[506,x]+F[492,x]
F[492,x] = -F[365,x]+F[493,x]
F[493,x] = 1/F[4,x]*F[494,x]
F[494,x] = F[495,x]
F[495,x] = -F[505,x]+F[496,x]
F[496,x] = -F[503,x]+F[497,x]
F[497,x] = 1/F[4,x]*F[498,x]
F[498,x] = F[499,x]
F[499,x] = F[4,x]*F[500,x]
F[500,x] = F[348,x]+F[501,x]
F[501,x] = F[365,x]+F[502,x]
F[502,x] = F[117,x]+F[321,x]
F[503,x] = F[345,x]+F[504,x]
F[504,x] = F[106,x]+F[8,x]
F[505,x] = F[128,x]+F[372,x]
F[506,x] = F[507,x]+F[508,x]
F[507,x] = F[24,x]*F[36,x]
F[508,x] = F[83,x]*F[84,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{5}\! \left(x \right)
F_{4}\! \left(x \right) = x
F_{5}\! \left(x \right) = F_{19}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{1}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right) F_{4}\! \left(x \right)
F_{10}\! \left(x \right) = F_{1}\! \left(x \right)+F_{11}\! \left(x \right)+F_{12}\! \left(x \right)
F_{11}\! \left(x \right) = F_{10}\! \left(x \right) F_{4}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x , 1\right)
F_{14}\! \left(x , y\right) = -\frac{-y F_{15}\! \left(x , y\right)+F_{15}\! \left(x , 1\right)}{-1+y}
F_{15}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{16}\! \left(x , y\right)+F_{18}\! \left(x , y\right)
F_{16}\! \left(x , y\right) = F_{15}\! \left(x , y\right) F_{17}\! \left(x , y\right)
F_{17}\! \left(x , y\right) = y x
F_{18}\! \left(x , y\right) = F_{14}\! \left(x , y\right) F_{4}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)+F_{8}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right) F_{4}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{27}\! \left(x \right)
F_{23}\! \left(x \right) = F_{24}\! \left(x \right) F_{8}\! \left(x \right)
F_{24}\! \left(x \right) = F_{1}\! \left(x \right)+F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right)
F_{26}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right)+F_{474}\! \left(x \right)
F_{28}\! \left(x \right) = F_{102}\! \left(x \right)+F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)+F_{8}\! \left(x \right)
F_{30}\! \left(x \right) = F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right) F_{4}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right)+F_{82}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)+F_{73}\! \left(x \right)
F_{34}\! \left(x \right) = F_{25}\! \left(x \right)+F_{35}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right)+F_{8}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right) F_{4}\! \left(x \right)
F_{38}\! \left(x \right) = F_{39}\! \left(x \right)+F_{42}\! \left(x \right)
F_{39}\! \left(x \right) = F_{24}\! \left(x \right) F_{40}\! \left(x \right)
F_{40}\! \left(x \right) = F_{25}\! \left(x \right)+F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = F_{24}\! \left(x \right) F_{25}\! \left(x \right)
F_{42}\! \left(x \right) = F_{43}\! \left(x \right)+F_{50}\! \left(x \right)
F_{43}\! \left(x \right) = F_{25}\! \left(x \right) F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = F_{25}\! \left(x \right)+F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{46}\! \left(x \right)+F_{47}\! \left(x \right)+F_{49}\! \left(x \right)
F_{46}\! \left(x \right) = 0
F_{47}\! \left(x \right) = F_{4}\! \left(x \right) F_{48}\! \left(x \right)
F_{48}\! \left(x \right) = F_{25}\! \left(x \right)+F_{45}\! \left(x \right)
F_{49}\! \left(x \right) = F_{4}\! \left(x \right) F_{44}\! \left(x \right)
F_{50}\! \left(x \right) = F_{51}\! \left(x \right)+F_{62}\! \left(x \right)
F_{51}\! \left(x \right) = F_{36}\! \left(x \right)+F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = -F_{62}\! \left(x \right)+F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = -F_{61}\! \left(x \right)+F_{54}\! \left(x \right)
F_{54}\! \left(x \right) = -F_{60}\! \left(x \right)+F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = \frac{F_{56}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{56}\! \left(x \right) = F_{57}\! \left(x \right)
F_{57}\! \left(x \right) = -F_{8}\! \left(x \right)+F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = -F_{24}\! \left(x \right)+F_{59}\! \left(x \right)
F_{59}\! \left(x \right) = \frac{F_{7}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{60}\! \left(x \right) = F_{24}\! \left(x \right) F_{40}\! \left(x \right)
F_{61}\! \left(x \right) = F_{43}\! \left(x \right)+F_{57}\! \left(x \right)
F_{62}\! \left(x \right) = F_{25}\! \left(x \right) F_{63}\! \left(x \right)
F_{63}\! \left(x \right) = F_{46}\! \left(x \right)+F_{64}\! \left(x \right)+F_{71}\! \left(x \right)
F_{64}\! \left(x \right) = F_{65}\! \left(x \right)
F_{65}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right) F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{46}\! \left(x \right)+F_{64}\! \left(x \right)+F_{67}\! \left(x \right)
F_{67}\! \left(x \right) = F_{4}\! \left(x \right) F_{68}\! \left(x \right)
F_{68}\! \left(x \right) = F_{24}\! \left(x \right)+F_{67}\! \left(x \right)+F_{69}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)
F_{70}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right) F_{68}\! \left(x \right)
F_{71}\! \left(x \right) = F_{4}\! \left(x \right) F_{72}\! \left(x \right)
F_{72}\! \left(x \right) = F_{46}\! \left(x \right)+F_{69}\! \left(x \right)+F_{71}\! \left(x \right)
F_{73}\! \left(x \right) = F_{74}\! \left(x \right)+F_{88}\! \left(x \right)
F_{74}\! \left(x \right) = F_{75}\! \left(x \right)
F_{75}\! \left(x \right) = F_{4}\! \left(x \right) F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = F_{77}\! \left(x \right)+F_{82}\! \left(x \right)
F_{77}\! \left(x \right) = F_{40}\! \left(x \right)+F_{78}\! \left(x \right)
F_{78}\! \left(x \right) = F_{79}\! \left(x \right)+F_{80}\! \left(x \right)
F_{79}\! \left(x \right) = F_{25} \left(x \right)^{2}
F_{80}\! \left(x \right) = F_{74}\! \left(x \right)+F_{81}\! \left(x \right)
F_{81}\! \left(x \right) = F_{25}\! \left(x \right) F_{45}\! \left(x \right)
F_{82}\! \left(x \right) = F_{25}\! \left(x \right) F_{83}\! \left(x \right)
F_{83}\! \left(x \right) = F_{25}\! \left(x \right)+F_{84}\! \left(x \right)
F_{84}\! \left(x \right) = F_{46}\! \left(x \right)+F_{85}\! \left(x \right)+F_{87}\! \left(x \right)
F_{85}\! \left(x \right) = F_{4}\! \left(x \right) F_{86}\! \left(x \right)
F_{86}\! \left(x \right) = F_{25}\! \left(x \right)+F_{84}\! \left(x \right)
F_{87}\! \left(x \right) = F_{4}\! \left(x \right) F_{83}\! \left(x \right)
F_{88}\! \left(x \right) = -F_{45}\! \left(x \right)+F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = -F_{34}\! \left(x \right)+F_{90}\! \left(x \right)
F_{90}\! \left(x \right) = \frac{F_{91}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{91}\! \left(x \right) = F_{92}\! \left(x \right)
F_{92}\! \left(x \right) = F_{93}\! \left(x \right)
F_{93}\! \left(x \right) = F_{4}\! \left(x \right) F_{94}\! \left(x \right)
F_{94}\! \left(x \right) = F_{34}\! \left(x \right)+F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = F_{96}\! \left(x \right)+F_{97}\! \left(x \right)
F_{96}\! \left(x \right) = F_{25} \left(x \right)^{2}
F_{97}\! \left(x \right) = -F_{101}\! \left(x \right)+F_{98}\! \left(x \right)
F_{98}\! \left(x \right) = -F_{35}\! \left(x \right)+F_{99}\! \left(x \right)
F_{99}\! \left(x \right) = \frac{F_{100}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{100}\! \left(x \right) = F_{36}\! \left(x \right)
F_{101}\! \left(x \right) = F_{24}\! \left(x \right) F_{25}\! \left(x \right)
F_{102}\! \left(x \right) = F_{103}\! \left(x \right)+F_{156}\! \left(x \right)
F_{103}\! \left(x \right) = F_{104}\! \left(x \right)
F_{104}\! \left(x \right) = F_{105}\! \left(x \right) F_{4}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right)+F_{115}\! \left(x \right)
F_{106}\! \left(x \right) = F_{107}\! \left(x \right)+F_{25}\! \left(x \right)
F_{107}\! \left(x \right) = F_{108}\! \left(x \right)
F_{108}\! \left(x \right) = F_{109}\! \left(x \right) F_{4}\! \left(x \right)
F_{109}\! \left(x \right) = F_{110}\! \left(x \right)+F_{112}\! \left(x \right)
F_{110}\! \left(x \right) = F_{111}\! \left(x \right) F_{25}\! \left(x \right)
F_{111}\! \left(x \right) = F_{24}\! \left(x \right)+F_{44}\! \left(x \right)
F_{112}\! \left(x \right) = F_{113}\! \left(x \right)+F_{41}\! \left(x \right)
F_{113}\! \left(x \right) = F_{107}\! \left(x \right)+F_{114}\! \left(x \right)
F_{114}\! \left(x \right) = F_{25}\! \left(x \right) F_{84}\! \left(x \right)
F_{115}\! \left(x \right) = F_{116}\! \left(x \right)+F_{331}\! \left(x \right)
F_{116}\! \left(x \right) = F_{117}\! \left(x \right)+F_{128}\! \left(x \right)
F_{117}\! \left(x \right) = F_{118}\! \left(x \right)+F_{119}\! \left(x \right)
F_{118}\! \left(x \right) = F_{25}\! \left(x \right) F_{6}\! \left(x \right)
F_{119}\! \left(x \right) = F_{120}\! \left(x \right) F_{24}\! \left(x \right)
F_{120}\! \left(x \right) = F_{121}\! \left(x \right)
F_{121}\! \left(x \right) = F_{122}\! \left(x \right) F_{4}\! \left(x \right)
F_{122}\! \left(x \right) = F_{11}\! \left(x \right)+F_{123}\! \left(x \right)+F_{46}\! \left(x \right)
F_{123}\! \left(x \right) = F_{124}\! \left(x \right) F_{4}\! \left(x \right)
F_{124}\! \left(x \right) = F_{125}\! \left(x , 1\right)
F_{125}\! \left(x , y\right) = -\frac{-y F_{126}\! \left(x , y\right)+F_{126}\! \left(x , 1\right)}{-1+y}
F_{126}\! \left(x , y\right) = F_{127}\! \left(x , y\right)+F_{16}\! \left(x , y\right)+F_{46}\! \left(x \right)
F_{127}\! \left(x , y\right) = F_{125}\! \left(x , y\right) F_{4}\! \left(x \right)
F_{128}\! \left(x \right) = -F_{223}\! \left(x \right)+F_{129}\! \left(x \right)
F_{129}\! \left(x \right) = -F_{222}\! \left(x \right)+F_{130}\! \left(x \right)
F_{130}\! \left(x \right) = \frac{F_{131}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{131}\! \left(x \right) = F_{132}\! \left(x \right)
F_{132}\! \left(x \right) = F_{133}\! \left(x \right)
F_{133}\! \left(x \right) = F_{134}\! \left(x \right) F_{4}\! \left(x \right)
F_{134}\! \left(x \right) = F_{135}\! \left(x \right)+F_{141}\! \left(x \right)
F_{135}\! \left(x \right) = F_{136}\! \left(x \right)+F_{138}\! \left(x \right)
F_{136}\! \left(x \right) = F_{137}\! \left(x \right)+F_{74}\! \left(x \right)
F_{137}\! \left(x \right) = F_{25}\! \left(x \right) F_{45}\! \left(x \right)
F_{138}\! \left(x \right) = F_{139}\! \left(x \right)+F_{140}\! \left(x \right)
F_{139}\! \left(x \right) = F_{25}\! \left(x \right) F_{74}\! \left(x \right)
F_{140}\! \left(x \right) = F_{45} \left(x \right)^{2}
F_{141}\! \left(x \right) = F_{142}\! \left(x \right)+F_{150}\! \left(x \right)
F_{142}\! \left(x \right) = F_{143}\! \left(x \right)+F_{57}\! \left(x \right)
F_{143}\! \left(x \right) = -F_{78}\! \left(x \right)+F_{144}\! \left(x \right)
F_{144}\! \left(x \right) = -F_{147}\! \left(x \right)+F_{145}\! \left(x \right)
F_{145}\! \left(x \right) = \frac{F_{146}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{146}\! \left(x \right) = F_{74}\! \left(x \right)
F_{147}\! \left(x \right) = F_{148}\! \left(x \right)
F_{148}\! \left(x \right) = 2 F_{149}\! \left(x \right)
F_{149}\! \left(x \right) = F_{24}\! \left(x \right) F_{25}\! \left(x \right)
F_{150}\! \left(x \right) = F_{132}\! \left(x \right)+F_{151}\! \left(x \right)
F_{151}\! \left(x \right) = -F_{221}\! \left(x \right)+F_{152}\! \left(x \right)
F_{152}\! \left(x \right) = -F_{208}\! \left(x \right)+F_{153}\! \left(x \right)
F_{153}\! \left(x \right) = -F_{205}\! \left(x \right)+F_{154}\! \left(x \right)
F_{154}\! \left(x \right) = \frac{F_{155}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{155}\! \left(x \right) = F_{156}\! \left(x \right)
F_{156}\! \left(x \right) = F_{157}\! \left(x \right)
F_{157}\! \left(x \right) = F_{158}\! \left(x \right) F_{4}\! \left(x \right)
F_{158}\! \left(x \right) = F_{159}\! \left(x \right)+F_{180}\! \left(x \right)
F_{159}\! \left(x \right) = F_{160}\! \left(x \right)+F_{162}\! \left(x \right)
F_{160}\! \left(x \right) = F_{114}\! \left(x \right)+F_{161}\! \left(x \right)
F_{161}\! \left(x \right) = F_{25}\! \left(x \right) F_{34}\! \left(x \right)
F_{162}\! \left(x \right) = F_{163}\! \left(x \right)+F_{184}\! \left(x \right)
F_{163}\! \left(x \right) = F_{164}\! \left(x \right)+F_{165}\! \left(x \right)
F_{164}\! \left(x \right) = F_{25}\! \left(x \right) F_{84}\! \left(x \right)
F_{165}\! \left(x \right) = F_{156}\! \left(x \right)+F_{166}\! \left(x \right)
F_{166}\! \left(x \right) = -F_{172}\! \left(x \right)+F_{167}\! \left(x \right)
F_{167}\! \left(x \right) = -F_{164}\! \left(x \right)+F_{168}\! \left(x \right)
F_{168}\! \left(x \right) = -F_{161}\! \left(x \right)+F_{169}\! \left(x \right)
F_{169}\! \left(x \right) = -F_{180}\! \left(x \right)+F_{170}\! \left(x \right)
F_{170}\! \left(x \right) = \frac{F_{171}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{171}\! \left(x \right) = F_{172}\! \left(x \right)
F_{172}\! \left(x \right) = -F_{84}\! \left(x \right)+F_{173}\! \left(x \right)
F_{173}\! \left(x \right) = -F_{176}\! \left(x \right)+F_{174}\! \left(x \right)
F_{174}\! \left(x \right) = \frac{F_{175}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{175}\! \left(x \right) = F_{36}\! \left(x \right)
F_{176}\! \left(x \right) = F_{177}\! \left(x \right)+F_{178}\! \left(x \right)
F_{177}\! \left(x \right) = F_{25}\! \left(x \right)+F_{36}\! \left(x \right)
F_{178}\! \left(x \right) = F_{179}\! \left(x \right) F_{25}\! \left(x \right)
F_{179}\! \left(x \right) = F_{24}\! \left(x \right)+F_{35}\! \left(x \right)
F_{180}\! \left(x \right) = F_{181}\! \left(x \right) F_{25}\! \left(x \right)
F_{181}\! \left(x \right) = F_{182}\! \left(x \right)+F_{183}\! \left(x \right)
F_{182}\! \left(x \right) = F_{24}\! \left(x \right) F_{34}\! \left(x \right)
F_{183}\! \left(x \right) = F_{168}\! \left(x \right)+F_{95}\! \left(x \right)
F_{184}\! \left(x \right) = F_{185}\! \left(x \right) F_{25}\! \left(x \right)
F_{185}\! \left(x \right) = F_{186}\! \left(x \right)+F_{188}\! \left(x \right)+F_{196}\! \left(x \right)+F_{46}\! \left(x \right)
F_{186}\! \left(x \right) = F_{187}\! \left(x \right) F_{4}\! \left(x \right)
F_{187}\! \left(x \right) = F_{185}\! \left(x \right)+F_{84}\! \left(x \right)
F_{188}\! \left(x \right) = F_{189}\! \left(x \right) F_{4}\! \left(x \right)
F_{189}\! \left(x \right) = F_{190}\! \left(x \right)+F_{193}\! \left(x \right)
F_{190}\! \left(x \right) = F_{191}\! \left(x \right)
F_{191}\! \left(x \right) = F_{192}\! \left(x \right) F_{4}\! \left(x \right)
F_{192}\! \left(x \right) = F_{190}\! \left(x \right)+F_{25}\! \left(x \right)
F_{193}\! \left(x \right) = 2 F_{46}\! \left(x \right)+F_{188}\! \left(x \right)+F_{194}\! \left(x \right)
F_{194}\! \left(x \right) = F_{195}\! \left(x \right) F_{4}\! \left(x \right)
F_{195}\! \left(x \right) = F_{193}\! \left(x \right)+F_{84}\! \left(x \right)
F_{196}\! \left(x \right) = F_{197}\! \left(x \right) F_{4}\! \left(x \right)
F_{197}\! \left(x \right) = F_{198}\! \left(x \right)+F_{201}\! \left(x \right)
F_{198}\! \left(x \right) = F_{199}\! \left(x \right)
F_{199}\! \left(x \right) = F_{200}\! \left(x \right) F_{4}\! \left(x \right)
F_{200}\! \left(x \right) = F_{198}\! \left(x \right)+F_{25}\! \left(x \right)
F_{201}\! \left(x \right) = 2 F_{46}\! \left(x \right)+F_{196}\! \left(x \right)+F_{202}\! \left(x \right)
F_{202}\! \left(x \right) = F_{203}\! \left(x \right) F_{4}\! \left(x \right)
F_{203}\! \left(x \right) = F_{190}\! \left(x \right)+F_{204}\! \left(x \right)
F_{204}\! \left(x \right) = F_{202}\! \left(x \right)
F_{205}\! \left(x \right) = F_{206}\! \left(x \right)
F_{206}\! \left(x \right) = F_{160}\! \left(x \right)+F_{207}\! \left(x \right)
F_{207}\! \left(x \right) = F_{24}\! \left(x \right) F_{25}\! \left(x \right) F_{34}\! \left(x \right)
F_{208}\! \left(x \right) = -F_{221}\! \left(x \right)+F_{209}\! \left(x \right)
F_{209}\! \left(x \right) = -F_{220}\! \left(x \right)+F_{210}\! \left(x \right)
F_{210}\! \left(x \right) = -F_{213}\! \left(x \right)+F_{211}\! \left(x \right)
F_{211}\! \left(x \right) = \frac{F_{212}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{212}\! \left(x \right) = F_{156}\! \left(x \right)
F_{213}\! \left(x \right) = F_{214}\! \left(x \right) F_{25}\! \left(x \right)
F_{214}\! \left(x \right) = F_{215}\! \left(x \right)+F_{217}\! \left(x \right)
F_{215}\! \left(x \right) = F_{216}\! \left(x \right)
F_{216}\! \left(x \right) = F_{25}\! \left(x \right) F_{40}\! \left(x \right)
F_{217}\! \left(x \right) = F_{218}\! \left(x \right)+F_{219}\! \left(x \right)
F_{218}\! \left(x \right) = F_{25}\! \left(x \right) F_{84}\! \left(x \right)
F_{219}\! \left(x \right) = F_{193}\! \left(x \right) F_{24}\! \left(x \right)
F_{220}\! \left(x \right) = F_{34}\! \left(x \right) F_{40}\! \left(x \right)
F_{221}\! \left(x \right) = F_{25}\! \left(x \right) F_{73}\! \left(x \right)
F_{222}\! \left(x \right) = F_{44}\! \left(x \right) F_{45}\! \left(x \right)
F_{223}\! \left(x \right) = -F_{321}\! \left(x \right)+F_{224}\! \left(x \right)
F_{224}\! \left(x \right) = -F_{307}\! \left(x \right)+F_{225}\! \left(x \right)
F_{225}\! \left(x \right) = \frac{F_{226}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{226}\! \left(x \right) = F_{227}\! \left(x \right)
F_{227}\! \left(x \right) = F_{228}\! \left(x \right) F_{4}\! \left(x \right)
F_{228}\! \left(x \right) = F_{229}\! \left(x \right)+F_{274}\! \left(x \right)
F_{229}\! \left(x \right) = F_{230}\! \left(x \right)+F_{272}\! \left(x \right)
F_{230}\! \left(x \right) = F_{231}\! \left(x \right)+F_{266}\! \left(x \right)
F_{231}\! \left(x \right) = F_{232}\! \left(x \right)
F_{232}\! \left(x \right) = F_{233}\! \left(x \right) F_{4}\! \left(x \right)
F_{233}\! \left(x \right) = F_{234}\! \left(x \right)+F_{238}\! \left(x \right)
F_{234}\! \left(x \right) = F_{235}\! \left(x \right)+F_{236}\! \left(x \right)
F_{235}\! \left(x \right) = F_{231}\! \left(x \right)+F_{25}\! \left(x \right)
F_{236}\! \left(x \right) = F_{237}\! \left(x \right) F_{25}\! \left(x \right)
F_{237}\! \left(x \right) = F_{24}\! \left(x \right)+F_{83}\! \left(x \right)
F_{238}\! \left(x \right) = F_{239}\! \left(x \right)+F_{258}\! \left(x \right)
F_{239}\! \left(x \right) = -F_{235}\! \left(x \right)+F_{240}\! \left(x \right)
F_{240}\! \left(x \right) = -F_{247}\! \left(x \right)+F_{241}\! \left(x \right)
F_{241}\! \left(x \right) = \frac{F_{242}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{242}\! \left(x \right) = F_{243}\! \left(x \right)
F_{243}\! \left(x \right) = -F_{8}\! \left(x \right)+F_{244}\! \left(x \right)
F_{244}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{245}\! \left(x \right)
F_{245}\! \left(x \right) = \frac{F_{246}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{246}\! \left(x \right) = F_{2}\! \left(x \right)
F_{247}\! \left(x \right) = -F_{254}\! \left(x \right)+F_{248}\! \left(x \right)
F_{248}\! \left(x \right) = \frac{F_{249}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{249}\! \left(x \right) = F_{250}\! \left(x \right)
F_{250}\! \left(x \right) = -F_{8}\! \left(x \right)+F_{251}\! \left(x \right)
F_{251}\! \left(x \right) = -F_{6}\! \left(x \right)+F_{252}\! \left(x \right)
F_{252}\! \left(x \right) = \frac{F_{253}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{253}\! \left(x \right) = F_{2}\! \left(x \right)
F_{254}\! \left(x \right) = -F_{258}\! \left(x \right)+F_{255}\! \left(x \right)
F_{255}\! \left(x \right) = -F_{236}\! \left(x \right)+F_{256}\! \left(x \right)
F_{256}\! \left(x \right) = \frac{F_{257}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{257}\! \left(x \right) = F_{92}\! \left(x \right)
F_{258}\! \left(x \right) = F_{25}\! \left(x \right) F_{259}\! \left(x \right)
F_{259}\! \left(x \right) = F_{260}\! \left(x \right)
F_{260}\! \left(x \right) = F_{261}\! \left(x \right) F_{4}\! \left(x \right)
F_{261}\! \left(x \right) = F_{24}\! \left(x \right)+F_{262}\! \left(x \right)+F_{263}\! \left(x \right)+F_{264}\! \left(x \right)
F_{262}\! \left(x \right) = F_{261}\! \left(x \right) F_{4}\! \left(x \right)
F_{263}\! \left(x \right) = F_{237}\! \left(x \right) F_{24}\! \left(x \right) F_{4}\! \left(x \right)
F_{264}\! \left(x \right) = F_{265}\! \left(x \right)
F_{265}\! \left(x \right) = F_{24}\! \left(x \right) F_{261}\! \left(x \right) F_{4}\! \left(x \right)
F_{266}\! \left(x \right) = F_{107}\! \left(x \right)+F_{267}\! \left(x \right)
F_{267}\! \left(x \right) = -F_{198}\! \left(x \right)+F_{268}\! \left(x \right)
F_{268}\! \left(x \right) = -F_{112}\! \left(x \right)+F_{269}\! \left(x \right)
F_{269}\! \left(x \right) = -F_{149}\! \left(x \right)+F_{270}\! \left(x \right)
F_{270}\! \left(x \right) = \frac{F_{271}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{271}\! \left(x \right) = F_{107}\! \left(x \right)
F_{272}\! \left(x \right) = F_{25}\! \left(x \right) F_{273}\! \left(x \right)
F_{273}\! \left(x \right) = F_{203}\! \left(x \right)+F_{84}\! \left(x \right)
F_{274}\! \left(x \right) = F_{275}\! \left(x \right)+F_{286}\! \left(x \right)
F_{275}\! \left(x \right) = F_{276}\! \left(x \right)+F_{277}\! \left(x \right)
F_{276}\! \left(x \right) = F_{231}\! \left(x \right) F_{25}\! \left(x \right)
F_{277}\! \left(x \right) = F_{132}\! \left(x \right)+F_{278}\! \left(x \right)
F_{278}\! \left(x \right) = -F_{284}\! \left(x \right)+F_{279}\! \left(x \right)
F_{279}\! \left(x \right) = -F_{141}\! \left(x \right)+F_{280}\! \left(x \right)
F_{280}\! \left(x \right) = -F_{283}\! \left(x \right)+F_{281}\! \left(x \right)
F_{281}\! \left(x \right) = \frac{F_{282}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{282}\! \left(x \right) = F_{132}\! \left(x \right)
F_{283}\! \left(x \right) = F_{24}\! \left(x \right) F_{74}\! \left(x \right)
F_{284}\! \left(x \right) = F_{285}\! \left(x \right)
F_{285}\! \left(x \right) = F_{25}\! \left(x \right) F_{45}\! \left(x \right)
F_{286}\! \left(x \right) = F_{287}\! \left(x \right)+F_{288}\! \left(x \right)
F_{287}\! \left(x \right) = F_{84} \left(x \right)^{2}
F_{288}\! \left(x \right) = F_{289}\! \left(x \right)
F_{289}\! \left(x \right) = F_{25}\! \left(x \right) F_{290}\! \left(x \right)
F_{290}\! \left(x \right) = F_{291}\! \left(x \right)+F_{52}\! \left(x \right)
F_{291}\! \left(x \right) = F_{25}\! \left(x \right) F_{292}\! \left(x \right)
F_{292}\! \left(x \right) = F_{293}\! \left(x \right)+F_{306}\! \left(x \right)+F_{46}\! \left(x \right)
F_{293}\! \left(x \right) = F_{294}\! \left(x \right)
F_{294}\! \left(x \right) = F_{295}\! \left(x \right) F_{4}\! \left(x \right)
F_{295}\! \left(x \right) = F_{296}\! \left(x \right)+F_{305}\! \left(x \right)
F_{296}\! \left(x \right) = F_{297}\! \left(x \right)+F_{301}\! \left(x \right)+F_{46}\! \left(x \right)
F_{297}\! \left(x \right) = F_{298}\! \left(x \right)
F_{298}\! \left(x \right) = F_{299}\! \left(x \right) F_{4}\! \left(x \right)
F_{299}\! \left(x \right) = F_{296}\! \left(x \right)+F_{300}\! \left(x \right)
F_{300}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right) F_{66}\! \left(x \right)
F_{301}\! \left(x \right) = F_{302}\! \left(x \right) F_{4}\! \left(x \right)
F_{302}\! \left(x \right) = F_{303}\! \left(x \right)+F_{46}\! \left(x \right)+F_{67}\! \left(x \right)
F_{303}\! \left(x \right) = F_{304}\! \left(x \right)
F_{304}\! \left(x \right) = F_{24}\! \left(x \right) F_{302}\! \left(x \right) F_{4}\! \left(x \right)
F_{305}\! \left(x \right) = F_{24}\! \left(x \right) F_{302}\! \left(x \right) F_{4}\! \left(x \right)
F_{306}\! \left(x \right) = F_{4}\! \left(x \right) F_{63}\! \left(x \right)
F_{307}\! \left(x \right) = F_{308}\! \left(x \right)+F_{310}\! \left(x \right)
F_{308}\! \left(x \right) = F_{309}\! \left(x \right)
F_{309}\! \left(x \right) = F_{239}\! \left(x \right) F_{25}\! \left(x \right)
F_{310}\! \left(x \right) = F_{222}\! \left(x \right)+F_{311}\! \left(x \right)
F_{311}\! \left(x \right) = F_{312}\! \left(x \right)
F_{312}\! \left(x \right) = F_{25} \left(x \right)^{2} F_{313}\! \left(x \right)
F_{313}\! \left(x \right) = F_{314}\! \left(x \right)
F_{314}\! \left(x \right) = F_{315}\! \left(x \right) F_{4}\! \left(x \right)
F_{315}\! \left(x \right) = F_{316}\! \left(x \right)+F_{317}\! \left(x \right)+F_{318}\! \left(x \right)+F_{46}\! \left(x \right)
F_{316}\! \left(x \right) = F_{261}\! \left(x \right) F_{4}\! \left(x \right)
F_{317}\! \left(x \right) = F_{315}\! \left(x \right) F_{4}\! \left(x \right)
F_{318}\! \left(x \right) = F_{319}\! \left(x \right)
F_{319}\! \left(x \right) = F_{24}\! \left(x \right) F_{320}\! \left(x \right) F_{4}\! \left(x \right)
F_{320}\! \left(x \right) = F_{314}\! \left(x \right)+F_{83}\! \left(x \right)
F_{321}\! \left(x \right) = F_{322}\! \left(x \right)+F_{74}\! \left(x \right)
F_{322}\! \left(x \right) = F_{323}\! \left(x \right)
F_{323}\! \left(x \right) = F_{324}\! \left(x \right) F_{4}\! \left(x \right)
F_{324}\! \left(x \right) = F_{325}\! \left(x \right)+F_{327}\! \left(x \right)
F_{325}\! \left(x \right) = F_{230}\! \left(x \right)+F_{326}\! \left(x \right)
F_{326}\! \left(x \right) = F_{25}\! \left(x \right) F_{84}\! \left(x \right)
F_{327}\! \left(x \right) = F_{287}\! \left(x \right)+F_{328}\! \left(x \right)
F_{328}\! \left(x \right) = F_{276}\! \left(x \right)+F_{329}\! \left(x \right)
F_{329}\! \left(x \right) = F_{278}\! \left(x \right)+F_{330}\! \left(x \right)
F_{330}\! \left(x \right) = -F_{74}\! \left(x \right)+F_{128}\! \left(x \right)
F_{331}\! \left(x \right) = F_{332}\! \left(x \right)+F_{338}\! \left(x \right)
F_{332}\! \left(x \right) = F_{333}\! \left(x \right)
F_{333}\! \left(x \right) = F_{334}\! \left(x \right) F_{4}\! \left(x \right)
F_{334}\! \left(x \right) = F_{335}\! \left(x \right)+F_{43}\! \left(x \right)
F_{335}\! \left(x \right) = F_{336}\! \left(x \right)+F_{337}\! \left(x \right)
F_{336}\! \left(x \right) = F_{25}\! \left(x \right)+F_{332}\! \left(x \right)
F_{337}\! \left(x \right) = F_{237}\! \left(x \right) F_{25}\! \left(x \right)
F_{338}\! \left(x \right) = F_{339}\! \left(x \right)
F_{339}\! \left(x \right) = F_{340}\! \left(x \right) F_{4}\! \left(x \right)
F_{340}\! \left(x \right) = F_{341}\! \left(x \right)+F_{360}\! \left(x \right)
F_{341}\! \left(x \right) = F_{342}\! \left(x \right)+F_{344}\! \left(x \right)
F_{342}\! \left(x \right) = F_{343}\! \left(x \right)+F_{92}\! \left(x \right)
F_{343}\! \left(x \right) = F_{25}\! \left(x \right) F_{45}\! \left(x \right)
F_{344}\! \left(x \right) = F_{345}\! \left(x \right)+F_{351}\! \left(x \right)
F_{345}\! \left(x \right) = F_{346}\! \left(x \right)
F_{346}\! \left(x \right) = F_{347}\! \left(x \right) F_{4}\! \left(x \right)
F_{347}\! \left(x \right) = F_{348}\! \left(x \right)+F_{349}\! \left(x \right)
F_{348}\! \left(x \right) = F_{25}\! \left(x \right)+F_{345}\! \left(x \right)
F_{349}\! \left(x \right) = F_{25}\! \left(x \right) F_{350}\! \left(x \right)
F_{350}\! \left(x \right) = F_{237}\! \left(x \right)+F_{44}\! \left(x \right)
F_{351}\! \left(x \right) = -F_{357}\! \left(x \right)+F_{352}\! \left(x \right)
F_{352}\! \left(x \right) = -F_{348}\! \left(x \right)+F_{353}\! \left(x \right)
F_{353}\! \left(x \right) = -F_{356}\! \left(x \right)+F_{354}\! \left(x \right)
F_{354}\! \left(x \right) = \frac{F_{355}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{355}\! \left(x \right) = F_{345}\! \left(x \right)
F_{356}\! \left(x \right) = F_{111}\! \left(x \right) F_{25}\! \left(x \right)
F_{357}\! \left(x \right) = F_{358}\! \left(x \right)
F_{358}\! \left(x \right) = F_{359}\! \left(x \right) F_{4}\! \left(x \right)
F_{359}\! \left(x \right) = F_{25}\! \left(x \right)+F_{357}\! \left(x \right)
F_{360}\! \left(x \right) = F_{361}\! \left(x \right)+F_{363}\! \left(x \right)
F_{361}\! \left(x \right) = F_{140}\! \left(x \right)+F_{362}\! \left(x \right)
F_{362}\! \left(x \right) = F_{25}\! \left(x \right) F_{92}\! \left(x \right)
F_{363}\! \left(x \right) = F_{364}\! \left(x \right)+F_{375}\! \left(x \right)
F_{364}\! \left(x \right) = -F_{332}\! \left(x \right)+F_{365}\! \left(x \right)
F_{365}\! \left(x \right) = -F_{371}\! \left(x \right)+F_{366}\! \left(x \right)
F_{366}\! \left(x \right) = -F_{369}\! \left(x \right)+F_{367}\! \left(x \right)
F_{367}\! \left(x \right) = \frac{F_{368}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{368}\! \left(x \right) = F_{103}\! \left(x \right)
F_{369}\! \left(x \right) = F_{348}\! \left(x \right)+F_{370}\! \left(x \right)
F_{370}\! \left(x \right) = F_{107}\! \left(x \right)+F_{8}\! \left(x \right)
F_{371}\! \left(x \right) = F_{132}\! \left(x \right)+F_{372}\! \left(x \right)
F_{372}\! \left(x \right) = F_{373}\! \left(x \right)+F_{374}\! \left(x \right)
F_{373}\! \left(x \right) = F_{25}\! \left(x \right) F_{8}\! \left(x \right)
F_{374}\! \left(x \right) = F_{120}\! \left(x \right) F_{25}\! \left(x \right)
F_{375}\! \left(x \right) = -F_{473}\! \left(x \right)+F_{376}\! \left(x \right)
F_{376}\! \left(x \right) = -F_{469}\! \left(x \right)+F_{377}\! \left(x \right)
F_{377}\! \left(x \right) = -F_{352}\! \left(x \right)+F_{378}\! \left(x \right)
F_{378}\! \left(x \right) = \frac{F_{379}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{379}\! \left(x \right) = F_{380}\! \left(x \right)
F_{380}\! \left(x \right) = F_{381}\! \left(x \right)
F_{381}\! \left(x \right) = F_{382}\! \left(x \right) F_{4}\! \left(x \right)
F_{382}\! \left(x \right) = F_{383}\! \left(x \right)+F_{452}\! \left(x \right)
F_{383}\! \left(x \right) = F_{384}\! \left(x \right)
F_{384}\! \left(x \right) = F_{385}\! \left(x \right)+F_{388}\! \left(x \right)
F_{385}\! \left(x \right) = F_{342}\! \left(x \right)+F_{386}\! \left(x \right)
F_{386}\! \left(x \right) = F_{25}\! \left(x \right) F_{387}\! \left(x \right)
F_{387}\! \left(x \right) = F_{25}\! \left(x \right)+F_{83}\! \left(x \right)
F_{388}\! \left(x \right) = F_{389}\! \left(x \right)+F_{394}\! \left(x \right)
F_{389}\! \left(x \right) = F_{390}\! \left(x \right)
F_{390}\! \left(x \right) = F_{25}\! \left(x \right) F_{391}\! \left(x \right)
F_{391}\! \left(x \right) = F_{392}\! \left(x \right)+F_{393}\! \left(x \right)
F_{392}\! \left(x \right) = F_{25}\! \left(x \right) F_{8}\! \left(x \right)
F_{393}\! \left(x \right) = F_{25}\! \left(x \right) F_{83}\! \left(x \right)
F_{394}\! \left(x \right) = F_{380}\! \left(x \right)+F_{395}\! \left(x \right)
F_{395}\! \left(x \right) = F_{25}\! \left(x \right) F_{396}\! \left(x \right)
F_{396}\! \left(x \right) = -F_{451}\! \left(x \right)+F_{397}\! \left(x \right)
F_{397}\! \left(x \right) = -F_{433}\! \left(x \right)+F_{398}\! \left(x \right)
F_{398}\! \left(x \right) = -F_{428}\! \left(x \right)+F_{399}\! \left(x \right)
F_{399}\! \left(x \right) = \frac{F_{400}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{400}\! \left(x \right) = F_{401}\! \left(x \right)
F_{401}\! \left(x \right) = F_{402}\! \left(x \right)
F_{402}\! \left(x \right) = F_{4}\! \left(x \right) F_{403}\! \left(x \right)
F_{403}\! \left(x \right) = F_{404}\! \left(x \right)+F_{410}\! \left(x \right)
F_{404}\! \left(x \right) = F_{405}\! \left(x \right)+F_{406}\! \left(x \right)
F_{405}\! \left(x \right) = F_{235}\! \left(x \right) F_{25}\! \left(x \right)
F_{406}\! \left(x \right) = F_{25}\! \left(x \right) F_{407}\! \left(x \right)
F_{407}\! \left(x \right) = F_{408}\! \left(x \right)+F_{409}\! \left(x \right)
F_{408}\! \left(x \right) = F_{237}\! \left(x \right) F_{25}\! \left(x \right)
F_{409}\! \left(x \right) = F_{24}\! \left(x \right) F_{48}\! \left(x \right)
F_{410}\! \left(x \right) = F_{411}\! \left(x \right)+F_{412}\! \left(x \right)
F_{411}\! \left(x \right) = F_{239}\! \left(x \right) F_{25}\! \left(x \right)
F_{412}\! \left(x \right) = F_{25}\! \left(x \right) F_{413}\! \left(x \right)
F_{413}\! \left(x \right) = F_{414}\! \left(x \right)+F_{427}\! \left(x \right)
F_{414}\! \left(x \right) = F_{415}\! \left(x \right)+F_{416}\! \left(x \right)
F_{415}\! \left(x \right) = F_{216}\! \left(x \right)
F_{416}\! \left(x \right) = F_{417}\! \left(x \right)+F_{425}\! \left(x \right)
F_{417}\! \left(x \right) = 2 F_{46}\! \left(x \right)+F_{418}\! \left(x \right)+F_{420}\! \left(x \right)
F_{418}\! \left(x \right) = F_{4}\! \left(x \right) F_{419}\! \left(x \right)
F_{419}\! \left(x \right) = F_{417}\! \left(x \right)+F_{45}\! \left(x \right)
F_{420}\! \left(x \right) = F_{4}\! \left(x \right) F_{421}\! \left(x \right)
F_{421}\! \left(x \right) = F_{417}\! \left(x \right)+F_{422}\! \left(x \right)
F_{422}\! \left(x \right) = F_{423}\! \left(x \right)
F_{423}\! \left(x \right) = F_{4}\! \left(x \right) F_{424}\! \left(x \right)
F_{424}\! \left(x \right) = F_{25}\! \left(x \right)+F_{422}\! \left(x \right)
F_{425}\! \left(x \right) = F_{25}\! \left(x \right) F_{426}\! \left(x \right)
F_{426}\! \left(x \right) = F_{417}\! \left(x \right)+F_{45}\! \left(x \right)
F_{427}\! \left(x \right) = F_{25}\! \left(x \right) F_{313}\! \left(x \right)
F_{428}\! \left(x \right) = F_{429}\! \left(x \right)+F_{45}\! \left(x \right)
F_{429}\! \left(x \right) = F_{430}\! \left(x \right)
F_{430}\! \left(x \right) = F_{4}\! \left(x \right) F_{431}\! \left(x \right)
F_{431}\! \left(x \right) = F_{406}\! \left(x \right)+F_{432}\! \left(x \right)
F_{432}\! \left(x \right) = F_{25}\! \left(x \right) F_{83}\! \left(x \right)
F_{433}\! \left(x \right) = -F_{450}\! \left(x \right)+F_{434}\! \left(x \right)
F_{434}\! \left(x \right) = -F_{437}\! \left(x \right)+F_{435}\! \left(x \right)
F_{435}\! \left(x \right) = \frac{F_{436}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{436}\! \left(x \right) = F_{401}\! \left(x \right)
F_{437}\! \left(x \right) = F_{438}\! \left(x \right)+F_{441}\! \left(x \right)
F_{438}\! \left(x \right) = F_{25}\! \left(x \right) F_{439}\! \left(x \right)
F_{439}\! \left(x \right) = F_{149}\! \left(x \right)+F_{440}\! \left(x \right)
F_{440}\! \left(x \right) = F_{24}\! \left(x \right) F_{25}\! \left(x \right)
F_{441}\! \left(x \right) = F_{442}\! \left(x \right)+F_{448}\! \left(x \right)
F_{442}\! \left(x \right) = F_{443}\! \left(x \right)+F_{445}\! \left(x \right)
F_{443}\! \left(x \right) = F_{444}\! \left(x \right)
F_{444}\! \left(x \right) = F_{25} \left(x \right)^{3}
F_{445}\! \left(x \right) = F_{401}\! \left(x \right)+F_{446}\! \left(x \right)
F_{446}\! \left(x \right) = F_{447}\! \left(x \right)
F_{447}\! \left(x \right) = F_{25} \left(x \right)^{2} F_{45}\! \left(x \right)
F_{448}\! \left(x \right) = F_{449}\! \left(x \right)
F_{449}\! \left(x \right) = F_{25} \left(x \right)^{2} F_{231}\! \left(x \right)
F_{450}\! \left(x \right) = F_{429}\! \left(x \right)+F_{96}\! \left(x \right)
F_{451}\! \left(x \right) = F_{392}\! \left(x \right)
F_{452}\! \left(x \right) = F_{453}\! \left(x \right)
F_{453}\! \left(x \right) = F_{454}\! \left(x \right)+F_{457}\! \left(x \right)
F_{454}\! \left(x \right) = F_{137}\! \left(x \right)+F_{455}\! \left(x \right)
F_{455}\! \left(x \right) = F_{456}\! \left(x \right)
F_{456}\! \left(x \right) = F_{25} \left(x \right)^{2} F_{83}\! \left(x \right)
F_{457}\! \left(x \right) = F_{458}\! \left(x \right)+F_{467}\! \left(x \right)
F_{458}\! \left(x \right) = F_{25}\! \left(x \right) F_{459}\! \left(x \right)
F_{459}\! \left(x \right) = -F_{45}\! \left(x \right)+F_{460}\! \left(x \right)
F_{460}\! \left(x \right) = -F_{463}\! \left(x \right)+F_{461}\! \left(x \right)
F_{461}\! \left(x \right) = \frac{F_{462}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{462}\! \left(x \right) = F_{57}\! \left(x \right)
F_{463}\! \left(x \right) = F_{40}\! \left(x \right)+F_{464}\! \left(x \right)
F_{464}\! \left(x \right) = F_{465}\! \left(x \right)+F_{466}\! \left(x \right)
F_{465}\! \left(x \right) = F_{25}\! \left(x \right) F_{8}\! \left(x \right)
F_{466}\! \left(x \right) = F_{24}\! \left(x \right) F_{57}\! \left(x \right)
F_{467}\! \left(x \right) = F_{468}\! \left(x \right)
F_{468}\! \left(x \right) = F_{25}\! \left(x \right) F_{83}\! \left(x \right) F_{84}\! \left(x \right)
F_{469}\! \left(x \right) = F_{223}\! \left(x \right)+F_{470}\! \left(x \right)
F_{470}\! \left(x \right) = F_{310}\! \left(x \right)+F_{471}\! \left(x \right)
F_{471}\! \left(x \right) = F_{472}\! \left(x \right)
F_{472}\! \left(x \right) = F_{25}\! \left(x \right) F_{254}\! \left(x \right)
F_{473}\! \left(x \right) = F_{164}\! \left(x \right)
F_{474}\! \left(x \right) = F_{36}\! \left(x \right)+F_{475}\! \left(x \right)
F_{475}\! \left(x \right) = F_{476}\! \left(x \right)
F_{476}\! \left(x \right) = F_{4}\! \left(x \right) F_{477}\! \left(x \right)
F_{477}\! \left(x \right) = F_{478}\! \left(x \right)+F_{485}\! \left(x \right)
F_{478}\! \left(x \right) = F_{479}\! \left(x \right)
F_{479}\! \left(x \right) = F_{480}\! \left(x \right)+F_{484}\! \left(x \right)
F_{480}\! \left(x \right) = F_{481}\! \left(x \right)+F_{482}\! \left(x \right)
F_{481}\! \left(x \right) = F_{231}\! \left(x \right)+F_{267}\! \left(x \right)
F_{482}\! \left(x \right) = F_{25}\! \left(x \right) F_{483}\! \left(x \right)
F_{483}\! \left(x \right) = F_{203}\! \left(x \right)+F_{86}\! \left(x \right)
F_{484}\! \left(x \right) = F_{25}\! \left(x \right) F_{44}\! \left(x \right)
F_{485}\! \left(x \right) = F_{486}\! \left(x \right)+F_{487}\! \left(x \right)
F_{486}\! \left(x \right) = F_{276}\! \left(x \right)+F_{278}\! \left(x \right)
F_{487}\! \left(x \right) = F_{488}\! \left(x \right)+F_{491}\! \left(x \right)
F_{488}\! \left(x \right) = F_{288}\! \left(x \right)+F_{489}\! \left(x \right)
F_{489}\! \left(x \right) = F_{287}\! \left(x \right)+F_{490}\! \left(x \right)
F_{490}\! \left(x \right) = F_{25}\! \left(x \right) F_{36}\! \left(x \right)
F_{491}\! \left(x \right) = -F_{506}\! \left(x \right)+F_{492}\! \left(x \right)
F_{492}\! \left(x \right) = -F_{365}\! \left(x \right)+F_{493}\! \left(x \right)
F_{493}\! \left(x \right) = \frac{F_{494}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{494}\! \left(x \right) = F_{495}\! \left(x \right)
F_{495}\! \left(x \right) = -F_{505}\! \left(x \right)+F_{496}\! \left(x \right)
F_{496}\! \left(x \right) = -F_{503}\! \left(x \right)+F_{497}\! \left(x \right)
F_{497}\! \left(x \right) = \frac{F_{498}\! \left(x \right)}{F_{4}\! \left(x \right)}
F_{498}\! \left(x \right) = F_{499}\! \left(x \right)
F_{499}\! \left(x \right) = F_{4}\! \left(x \right) F_{500}\! \left(x \right)
F_{500}\! \left(x \right) = F_{348}\! \left(x \right)+F_{501}\! \left(x \right)
F_{501}\! \left(x \right) = F_{365}\! \left(x \right)+F_{502}\! \left(x \right)
F_{502}\! \left(x \right) = F_{117}\! \left(x \right)+F_{321}\! \left(x \right)
F_{503}\! \left(x \right) = F_{345}\! \left(x \right)+F_{504}\! \left(x \right)
F_{504}\! \left(x \right) = F_{106}\! \left(x \right)+F_{8}\! \left(x \right)
F_{505}\! \left(x \right) = F_{128}\! \left(x \right)+F_{372}\! \left(x \right)
F_{506}\! \left(x \right) = F_{507}\! \left(x \right)+F_{508}\! \left(x \right)
F_{507}\! \left(x \right) = F_{24}\! \left(x \right) F_{36}\! \left(x \right)
F_{508}\! \left(x \right) = F_{83}\! \left(x \right) F_{84}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_5(x))
Eq(F_4(x), x)
Eq(F_5(x), F_19(x) + F_6(x))
Eq(F_6(x), F_1(x) + F_7(x))
Eq(F_7(x), F_8(x))
Eq(F_8(x), F_9(x))
Eq(F_9(x), F_10(x)*F_4(x))
Eq(F_10(x), F_1(x) + F_11(x) + F_12(x))
Eq(F_11(x), F_10(x)*F_4(x))
Eq(F_12(x), F_13(x)*F_4(x))
Eq(F_13(x), F_14(x, 1))
Eq(F_14(x, k_0), (-k_0*F_15(x, k_0) + F_15(x, 1))/(1 - k_0))
Eq(F_15(x, k_0), F_1(x) + F_16(x, k_0) + F_18(x, k_0))
Eq(F_16(x, k_0), F_15(x, k_0)*F_17(x, k_0))
Eq(F_17(x, k_0), k_0*x)
Eq(F_18(x, k_0), F_14(x, k_0)*F_4(x))
Eq(F_19(x), F_20(x) + F_8(x))
Eq(F_20(x), F_21(x))
Eq(F_21(x), F_22(x)*F_4(x))
Eq(F_22(x), F_23(x) + F_27(x))
Eq(F_23(x), F_24(x)*F_8(x))
Eq(F_24(x), F_1(x) + F_25(x))
Eq(F_25(x), F_26(x))
Eq(F_26(x), F_24(x)*F_4(x))
Eq(F_27(x), F_28(x) + F_474(x))
Eq(F_28(x), F_102(x) + F_29(x))
Eq(F_29(x), F_30(x) + F_8(x))
Eq(F_30(x), F_31(x))
Eq(F_31(x), F_32(x)*F_4(x))
Eq(F_32(x), F_33(x) + F_82(x))
Eq(F_33(x), F_34(x) + F_73(x))
Eq(F_34(x), F_25(x) + F_35(x))
Eq(F_35(x), F_36(x) + F_8(x))
Eq(F_36(x), F_37(x))
Eq(F_37(x), F_38(x)*F_4(x))
Eq(F_38(x), F_39(x) + F_42(x))
Eq(F_39(x), F_24(x)*F_40(x))
Eq(F_40(x), F_25(x) + F_41(x))
Eq(F_41(x), F_24(x)*F_25(x))
Eq(F_42(x), F_43(x) + F_50(x))
Eq(F_43(x), F_25(x)*F_44(x))
Eq(F_44(x), F_25(x) + F_45(x))
Eq(F_45(x), F_46(x) + F_47(x) + F_49(x))
Eq(F_46(x), 0)
Eq(F_47(x), F_4(x)*F_48(x))
Eq(F_48(x), F_25(x) + F_45(x))
Eq(F_49(x), F_4(x)*F_44(x))
Eq(F_50(x), F_51(x) + F_62(x))
Eq(F_51(x), F_36(x) + F_52(x))
Eq(F_52(x), F_53(x) - F_62(x))
Eq(F_53(x), F_54(x) - F_61(x))
Eq(F_54(x), F_55(x) - F_60(x))
Eq(F_55(x), F_56(x)/F_4(x))
Eq(F_56(x), F_57(x))
Eq(F_57(x), F_58(x) - F_8(x))
Eq(F_58(x), -F_24(x) + F_59(x))
Eq(F_59(x), F_7(x)/F_4(x))
Eq(F_60(x), F_24(x)*F_40(x))
Eq(F_61(x), F_43(x) + F_57(x))
Eq(F_62(x), F_25(x)*F_63(x))
Eq(F_63(x), F_46(x) + F_64(x) + F_71(x))
Eq(F_64(x), F_65(x))
Eq(F_65(x), F_24(x)*F_4(x)*F_66(x))
Eq(F_66(x), F_46(x) + F_64(x) + F_67(x))
Eq(F_67(x), F_4(x)*F_68(x))
Eq(F_68(x), F_24(x) + F_67(x) + F_69(x))
Eq(F_69(x), F_70(x))
Eq(F_70(x), F_24(x)*F_4(x)*F_68(x))
Eq(F_71(x), F_4(x)*F_72(x))
Eq(F_72(x), F_46(x) + F_69(x) + F_71(x))
Eq(F_73(x), F_74(x) + F_88(x))
Eq(F_74(x), F_75(x))
Eq(F_75(x), F_4(x)*F_76(x))
Eq(F_76(x), F_77(x) + F_82(x))
Eq(F_77(x), F_40(x) + F_78(x))
Eq(F_78(x), F_79(x) + F_80(x))
Eq(F_79(x), F_25(x)**2)
Eq(F_80(x), F_74(x) + F_81(x))
Eq(F_81(x), F_25(x)*F_45(x))
Eq(F_82(x), F_25(x)*F_83(x))
Eq(F_83(x), F_25(x) + F_84(x))
Eq(F_84(x), F_46(x) + F_85(x) + F_87(x))
Eq(F_85(x), F_4(x)*F_86(x))
Eq(F_86(x), F_25(x) + F_84(x))
Eq(F_87(x), F_4(x)*F_83(x))
Eq(F_88(x), -F_45(x) + F_89(x))
Eq(F_89(x), -F_34(x) + F_90(x))
Eq(F_90(x), F_91(x)/F_4(x))
Eq(F_91(x), F_92(x))
Eq(F_92(x), F_93(x))
Eq(F_93(x), F_4(x)*F_94(x))
Eq(F_94(x), F_34(x) + F_95(x))
Eq(F_95(x), F_96(x) + F_97(x))
Eq(F_96(x), F_25(x)**2)
Eq(F_97(x), -F_101(x) + F_98(x))
Eq(F_98(x), -F_35(x) + F_99(x))
Eq(F_99(x), F_100(x)/F_4(x))
Eq(F_100(x), F_36(x))
Eq(F_101(x), F_24(x)*F_25(x))
Eq(F_102(x), F_103(x) + F_156(x))
Eq(F_103(x), F_104(x))
Eq(F_104(x), F_105(x)*F_4(x))
Eq(F_105(x), F_106(x) + F_115(x))
Eq(F_106(x), F_107(x) + F_25(x))
Eq(F_107(x), F_108(x))
Eq(F_108(x), F_109(x)*F_4(x))
Eq(F_109(x), F_110(x) + F_112(x))
Eq(F_110(x), F_111(x)*F_25(x))
Eq(F_111(x), F_24(x) + F_44(x))
Eq(F_112(x), F_113(x) + F_41(x))
Eq(F_113(x), F_107(x) + F_114(x))
Eq(F_114(x), F_25(x)*F_84(x))
Eq(F_115(x), F_116(x) + F_331(x))
Eq(F_116(x), F_117(x) + F_128(x))
Eq(F_117(x), F_118(x) + F_119(x))
Eq(F_118(x), F_25(x)*F_6(x))
Eq(F_119(x), F_120(x)*F_24(x))
Eq(F_120(x), F_121(x))
Eq(F_121(x), F_122(x)*F_4(x))
Eq(F_122(x), F_11(x) + F_123(x) + F_46(x))
Eq(F_123(x), F_124(x)*F_4(x))
Eq(F_124(x), F_125(x, 1))
Eq(F_125(x, k_0), (-k_0*F_126(x, k_0) + F_126(x, 1))/(1 - k_0))
Eq(F_126(x, k_0), F_127(x, k_0) + F_16(x, k_0) + F_46(x))
Eq(F_127(x, k_0), F_125(x, k_0)*F_4(x))
Eq(F_128(x), F_129(x) - F_223(x))
Eq(F_129(x), F_130(x) - F_222(x))
Eq(F_130(x), F_131(x)/F_4(x))
Eq(F_131(x), F_132(x))
Eq(F_132(x), F_133(x))
Eq(F_133(x), F_134(x)*F_4(x))
Eq(F_134(x), F_135(x) + F_141(x))
Eq(F_135(x), F_136(x) + F_138(x))
Eq(F_136(x), F_137(x) + F_74(x))
Eq(F_137(x), F_25(x)*F_45(x))
Eq(F_138(x), F_139(x) + F_140(x))
Eq(F_139(x), F_25(x)*F_74(x))
Eq(F_140(x), F_45(x)**2)
Eq(F_141(x), F_142(x) + F_150(x))
Eq(F_142(x), F_143(x) + F_57(x))
Eq(F_143(x), F_144(x) - F_78(x))
Eq(F_144(x), F_145(x) - F_147(x))
Eq(F_145(x), F_146(x)/F_4(x))
Eq(F_146(x), F_74(x))
Eq(F_147(x), F_148(x))
Eq(F_148(x), 2*F_149(x))
Eq(F_149(x), F_24(x)*F_25(x))
Eq(F_150(x), F_132(x) + F_151(x))
Eq(F_151(x), F_152(x) - F_221(x))
Eq(F_152(x), F_153(x) - F_208(x))
Eq(F_153(x), F_154(x) - F_205(x))
Eq(F_154(x), F_155(x)/F_4(x))
Eq(F_155(x), F_156(x))
Eq(F_156(x), F_157(x))
Eq(F_157(x), F_158(x)*F_4(x))
Eq(F_158(x), F_159(x) + F_180(x))
Eq(F_159(x), F_160(x) + F_162(x))
Eq(F_160(x), F_114(x) + F_161(x))
Eq(F_161(x), F_25(x)*F_34(x))
Eq(F_162(x), F_163(x) + F_184(x))
Eq(F_163(x), F_164(x) + F_165(x))
Eq(F_164(x), F_25(x)*F_84(x))
Eq(F_165(x), F_156(x) + F_166(x))
Eq(F_166(x), F_167(x) - F_172(x))
Eq(F_167(x), -F_164(x) + F_168(x))
Eq(F_168(x), -F_161(x) + F_169(x))
Eq(F_169(x), F_170(x) - F_180(x))
Eq(F_170(x), F_171(x)/F_4(x))
Eq(F_171(x), F_172(x))
Eq(F_172(x), F_173(x) - F_84(x))
Eq(F_173(x), F_174(x) - F_176(x))
Eq(F_174(x), F_175(x)/F_4(x))
Eq(F_175(x), F_36(x))
Eq(F_176(x), F_177(x) + F_178(x))
Eq(F_177(x), F_25(x) + F_36(x))
Eq(F_178(x), F_179(x)*F_25(x))
Eq(F_179(x), F_24(x) + F_35(x))
Eq(F_180(x), F_181(x)*F_25(x))
Eq(F_181(x), F_182(x) + F_183(x))
Eq(F_182(x), F_24(x)*F_34(x))
Eq(F_183(x), F_168(x) + F_95(x))
Eq(F_184(x), F_185(x)*F_25(x))
Eq(F_185(x), F_186(x) + F_188(x) + F_196(x) + F_46(x))
Eq(F_186(x), F_187(x)*F_4(x))
Eq(F_187(x), F_185(x) + F_84(x))
Eq(F_188(x), F_189(x)*F_4(x))
Eq(F_189(x), F_190(x) + F_193(x))
Eq(F_190(x), F_191(x))
Eq(F_191(x), F_192(x)*F_4(x))
Eq(F_192(x), F_190(x) + F_25(x))
Eq(F_193(x), F_188(x) + F_194(x) + 2*F_46(x))
Eq(F_194(x), F_195(x)*F_4(x))
Eq(F_195(x), F_193(x) + F_84(x))
Eq(F_196(x), F_197(x)*F_4(x))
Eq(F_197(x), F_198(x) + F_201(x))
Eq(F_198(x), F_199(x))
Eq(F_199(x), F_200(x)*F_4(x))
Eq(F_200(x), F_198(x) + F_25(x))
Eq(F_201(x), F_196(x) + F_202(x) + 2*F_46(x))
Eq(F_202(x), F_203(x)*F_4(x))
Eq(F_203(x), F_190(x) + F_204(x))
Eq(F_204(x), F_202(x))
Eq(F_205(x), F_206(x))
Eq(F_206(x), F_160(x) + F_207(x))
Eq(F_207(x), F_24(x)*F_25(x)*F_34(x))
Eq(F_208(x), F_209(x) - F_221(x))
Eq(F_209(x), F_210(x) - F_220(x))
Eq(F_210(x), F_211(x) - F_213(x))
Eq(F_211(x), F_212(x)/F_4(x))
Eq(F_212(x), F_156(x))
Eq(F_213(x), F_214(x)*F_25(x))
Eq(F_214(x), F_215(x) + F_217(x))
Eq(F_215(x), F_216(x))
Eq(F_216(x), F_25(x)*F_40(x))
Eq(F_217(x), F_218(x) + F_219(x))
Eq(F_218(x), F_25(x)*F_84(x))
Eq(F_219(x), F_193(x)*F_24(x))
Eq(F_220(x), F_34(x)*F_40(x))
Eq(F_221(x), F_25(x)*F_73(x))
Eq(F_222(x), F_44(x)*F_45(x))
Eq(F_223(x), F_224(x) - F_321(x))
Eq(F_224(x), F_225(x) - F_307(x))
Eq(F_225(x), F_226(x)/F_4(x))
Eq(F_226(x), F_227(x))
Eq(F_227(x), F_228(x)*F_4(x))
Eq(F_228(x), F_229(x) + F_274(x))
Eq(F_229(x), F_230(x) + F_272(x))
Eq(F_230(x), F_231(x) + F_266(x))
Eq(F_231(x), F_232(x))
Eq(F_232(x), F_233(x)*F_4(x))
Eq(F_233(x), F_234(x) + F_238(x))
Eq(F_234(x), F_235(x) + F_236(x))
Eq(F_235(x), F_231(x) + F_25(x))
Eq(F_236(x), F_237(x)*F_25(x))
Eq(F_237(x), F_24(x) + F_83(x))
Eq(F_238(x), F_239(x) + F_258(x))
Eq(F_239(x), -F_235(x) + F_240(x))
Eq(F_240(x), F_241(x) - F_247(x))
Eq(F_241(x), F_242(x)/F_4(x))
Eq(F_242(x), F_243(x))
Eq(F_243(x), F_244(x) - F_8(x))
Eq(F_244(x), F_245(x) - F_6(x))
Eq(F_245(x), F_246(x)/F_4(x))
Eq(F_246(x), F_2(x))
Eq(F_247(x), F_248(x) - F_254(x))
Eq(F_248(x), F_249(x)/F_4(x))
Eq(F_249(x), F_250(x))
Eq(F_250(x), F_251(x) - F_8(x))
Eq(F_251(x), F_252(x) - F_6(x))
Eq(F_252(x), F_253(x)/F_4(x))
Eq(F_253(x), F_2(x))
Eq(F_254(x), F_255(x) - F_258(x))
Eq(F_255(x), -F_236(x) + F_256(x))
Eq(F_256(x), F_257(x)/F_4(x))
Eq(F_257(x), F_92(x))
Eq(F_258(x), F_25(x)*F_259(x))
Eq(F_259(x), F_260(x))
Eq(F_260(x), F_261(x)*F_4(x))
Eq(F_261(x), F_24(x) + F_262(x) + F_263(x) + F_264(x))
Eq(F_262(x), F_261(x)*F_4(x))
Eq(F_263(x), F_237(x)*F_24(x)*F_4(x))
Eq(F_264(x), F_265(x))
Eq(F_265(x), F_24(x)*F_261(x)*F_4(x))
Eq(F_266(x), F_107(x) + F_267(x))
Eq(F_267(x), -F_198(x) + F_268(x))
Eq(F_268(x), -F_112(x) + F_269(x))
Eq(F_269(x), -F_149(x) + F_270(x))
Eq(F_270(x), F_271(x)/F_4(x))
Eq(F_271(x), F_107(x))
Eq(F_272(x), F_25(x)*F_273(x))
Eq(F_273(x), F_203(x) + F_84(x))
Eq(F_274(x), F_275(x) + F_286(x))
Eq(F_275(x), F_276(x) + F_277(x))
Eq(F_276(x), F_231(x)*F_25(x))
Eq(F_277(x), F_132(x) + F_278(x))
Eq(F_278(x), F_279(x) - F_284(x))
Eq(F_279(x), -F_141(x) + F_280(x))
Eq(F_280(x), F_281(x) - F_283(x))
Eq(F_281(x), F_282(x)/F_4(x))
Eq(F_282(x), F_132(x))
Eq(F_283(x), F_24(x)*F_74(x))
Eq(F_284(x), F_285(x))
Eq(F_285(x), F_25(x)*F_45(x))
Eq(F_286(x), F_287(x) + F_288(x))
Eq(F_287(x), F_84(x)**2)
Eq(F_288(x), F_289(x))
Eq(F_289(x), F_25(x)*F_290(x))
Eq(F_290(x), F_291(x) + F_52(x))
Eq(F_291(x), F_25(x)*F_292(x))
Eq(F_292(x), F_293(x) + F_306(x) + F_46(x))
Eq(F_293(x), F_294(x))
Eq(F_294(x), F_295(x)*F_4(x))
Eq(F_295(x), F_296(x) + F_305(x))
Eq(F_296(x), F_297(x) + F_301(x) + F_46(x))
Eq(F_297(x), F_298(x))
Eq(F_298(x), F_299(x)*F_4(x))
Eq(F_299(x), F_296(x) + F_300(x))
Eq(F_300(x), F_24(x)*F_4(x)*F_66(x))
Eq(F_301(x), F_302(x)*F_4(x))
Eq(F_302(x), F_303(x) + F_46(x) + F_67(x))
Eq(F_303(x), F_304(x))
Eq(F_304(x), F_24(x)*F_302(x)*F_4(x))
Eq(F_305(x), F_24(x)*F_302(x)*F_4(x))
Eq(F_306(x), F_4(x)*F_63(x))
Eq(F_307(x), F_308(x) + F_310(x))
Eq(F_308(x), F_309(x))
Eq(F_309(x), F_239(x)*F_25(x))
Eq(F_310(x), F_222(x) + F_311(x))
Eq(F_311(x), F_312(x))
Eq(F_312(x), F_25(x)**2*F_313(x))
Eq(F_313(x), F_314(x))
Eq(F_314(x), F_315(x)*F_4(x))
Eq(F_315(x), F_316(x) + F_317(x) + F_318(x) + F_46(x))
Eq(F_316(x), F_261(x)*F_4(x))
Eq(F_317(x), F_315(x)*F_4(x))
Eq(F_318(x), F_319(x))
Eq(F_319(x), F_24(x)*F_320(x)*F_4(x))
Eq(F_320(x), F_314(x) + F_83(x))
Eq(F_321(x), F_322(x) + F_74(x))
Eq(F_322(x), F_323(x))
Eq(F_323(x), F_324(x)*F_4(x))
Eq(F_324(x), F_325(x) + F_327(x))
Eq(F_325(x), F_230(x) + F_326(x))
Eq(F_326(x), F_25(x)*F_84(x))
Eq(F_327(x), F_287(x) + F_328(x))
Eq(F_328(x), F_276(x) + F_329(x))
Eq(F_329(x), F_278(x) + F_330(x))
Eq(F_330(x), F_128(x) - F_74(x))
Eq(F_331(x), F_332(x) + F_338(x))
Eq(F_332(x), F_333(x))
Eq(F_333(x), F_334(x)*F_4(x))
Eq(F_334(x), F_335(x) + F_43(x))
Eq(F_335(x), F_336(x) + F_337(x))
Eq(F_336(x), F_25(x) + F_332(x))
Eq(F_337(x), F_237(x)*F_25(x))
Eq(F_338(x), F_339(x))
Eq(F_339(x), F_340(x)*F_4(x))
Eq(F_340(x), F_341(x) + F_360(x))
Eq(F_341(x), F_342(x) + F_344(x))
Eq(F_342(x), F_343(x) + F_92(x))
Eq(F_343(x), F_25(x)*F_45(x))
Eq(F_344(x), F_345(x) + F_351(x))
Eq(F_345(x), F_346(x))
Eq(F_346(x), F_347(x)*F_4(x))
Eq(F_347(x), F_348(x) + F_349(x))
Eq(F_348(x), F_25(x) + F_345(x))
Eq(F_349(x), F_25(x)*F_350(x))
Eq(F_350(x), F_237(x) + F_44(x))
Eq(F_351(x), F_352(x) - F_357(x))
Eq(F_352(x), -F_348(x) + F_353(x))
Eq(F_353(x), F_354(x) - F_356(x))
Eq(F_354(x), F_355(x)/F_4(x))
Eq(F_355(x), F_345(x))
Eq(F_356(x), F_111(x)*F_25(x))
Eq(F_357(x), F_358(x))
Eq(F_358(x), F_359(x)*F_4(x))
Eq(F_359(x), F_25(x) + F_357(x))
Eq(F_360(x), F_361(x) + F_363(x))
Eq(F_361(x), F_140(x) + F_362(x))
Eq(F_362(x), F_25(x)*F_92(x))
Eq(F_363(x), F_364(x) + F_375(x))
Eq(F_364(x), -F_332(x) + F_365(x))
Eq(F_365(x), F_366(x) - F_371(x))
Eq(F_366(x), F_367(x) - F_369(x))
Eq(F_367(x), F_368(x)/F_4(x))
Eq(F_368(x), F_103(x))
Eq(F_369(x), F_348(x) + F_370(x))
Eq(F_370(x), F_107(x) + F_8(x))
Eq(F_371(x), F_132(x) + F_372(x))
Eq(F_372(x), F_373(x) + F_374(x))
Eq(F_373(x), F_25(x)*F_8(x))
Eq(F_374(x), F_120(x)*F_25(x))
Eq(F_375(x), F_376(x) - F_473(x))
Eq(F_376(x), F_377(x) - F_469(x))
Eq(F_377(x), -F_352(x) + F_378(x))
Eq(F_378(x), F_379(x)/F_4(x))
Eq(F_379(x), F_380(x))
Eq(F_380(x), F_381(x))
Eq(F_381(x), F_382(x)*F_4(x))
Eq(F_382(x), F_383(x) + F_452(x))
Eq(F_383(x), F_384(x))
Eq(F_384(x), F_385(x) + F_388(x))
Eq(F_385(x), F_342(x) + F_386(x))
Eq(F_386(x), F_25(x)*F_387(x))
Eq(F_387(x), F_25(x) + F_83(x))
Eq(F_388(x), F_389(x) + F_394(x))
Eq(F_389(x), F_390(x))
Eq(F_390(x), F_25(x)*F_391(x))
Eq(F_391(x), F_392(x) + F_393(x))
Eq(F_392(x), F_25(x)*F_8(x))
Eq(F_393(x), F_25(x)*F_83(x))
Eq(F_394(x), F_380(x) + F_395(x))
Eq(F_395(x), F_25(x)*F_396(x))
Eq(F_396(x), F_397(x) - F_451(x))
Eq(F_397(x), F_398(x) - F_433(x))
Eq(F_398(x), F_399(x) - F_428(x))
Eq(F_399(x), F_400(x)/F_4(x))
Eq(F_400(x), F_401(x))
Eq(F_401(x), F_402(x))
Eq(F_402(x), F_4(x)*F_403(x))
Eq(F_403(x), F_404(x) + F_410(x))
Eq(F_404(x), F_405(x) + F_406(x))
Eq(F_405(x), F_235(x)*F_25(x))
Eq(F_406(x), F_25(x)*F_407(x))
Eq(F_407(x), F_408(x) + F_409(x))
Eq(F_408(x), F_237(x)*F_25(x))
Eq(F_409(x), F_24(x)*F_48(x))
Eq(F_410(x), F_411(x) + F_412(x))
Eq(F_411(x), F_239(x)*F_25(x))
Eq(F_412(x), F_25(x)*F_413(x))
Eq(F_413(x), F_414(x) + F_427(x))
Eq(F_414(x), F_415(x) + F_416(x))
Eq(F_415(x), F_216(x))
Eq(F_416(x), F_417(x) + F_425(x))
Eq(F_417(x), F_418(x) + F_420(x) + 2*F_46(x))
Eq(F_418(x), F_4(x)*F_419(x))
Eq(F_419(x), F_417(x) + F_45(x))
Eq(F_420(x), F_4(x)*F_421(x))
Eq(F_421(x), F_417(x) + F_422(x))
Eq(F_422(x), F_423(x))
Eq(F_423(x), F_4(x)*F_424(x))
Eq(F_424(x), F_25(x) + F_422(x))
Eq(F_425(x), F_25(x)*F_426(x))
Eq(F_426(x), F_417(x) + F_45(x))
Eq(F_427(x), F_25(x)*F_313(x))
Eq(F_428(x), F_429(x) + F_45(x))
Eq(F_429(x), F_430(x))
Eq(F_430(x), F_4(x)*F_431(x))
Eq(F_431(x), F_406(x) + F_432(x))
Eq(F_432(x), F_25(x)*F_83(x))
Eq(F_433(x), F_434(x) - F_450(x))
Eq(F_434(x), F_435(x) - F_437(x))
Eq(F_435(x), F_436(x)/F_4(x))
Eq(F_436(x), F_401(x))
Eq(F_437(x), F_438(x) + F_441(x))
Eq(F_438(x), F_25(x)*F_439(x))
Eq(F_439(x), F_149(x) + F_440(x))
Eq(F_440(x), F_24(x)*F_25(x))
Eq(F_441(x), F_442(x) + F_448(x))
Eq(F_442(x), F_443(x) + F_445(x))
Eq(F_443(x), F_444(x))
Eq(F_444(x), F_25(x)**3)
Eq(F_445(x), F_401(x) + F_446(x))
Eq(F_446(x), F_447(x))
Eq(F_447(x), F_25(x)**2*F_45(x))
Eq(F_448(x), F_449(x))
Eq(F_449(x), F_231(x)*F_25(x)**2)
Eq(F_450(x), F_429(x) + F_96(x))
Eq(F_451(x), F_392(x))
Eq(F_452(x), F_453(x))
Eq(F_453(x), F_454(x) + F_457(x))
Eq(F_454(x), F_137(x) + F_455(x))
Eq(F_455(x), F_456(x))
Eq(F_456(x), F_25(x)**2*F_83(x))
Eq(F_457(x), F_458(x) + F_467(x))
Eq(F_458(x), F_25(x)*F_459(x))
Eq(F_459(x), -F_45(x) + F_460(x))
Eq(F_460(x), F_461(x) - F_463(x))
Eq(F_461(x), F_462(x)/F_4(x))
Eq(F_462(x), F_57(x))
Eq(F_463(x), F_40(x) + F_464(x))
Eq(F_464(x), F_465(x) + F_466(x))
Eq(F_465(x), F_25(x)*F_8(x))
Eq(F_466(x), F_24(x)*F_57(x))
Eq(F_467(x), F_468(x))
Eq(F_468(x), F_25(x)*F_83(x)*F_84(x))
Eq(F_469(x), F_223(x) + F_470(x))
Eq(F_470(x), F_310(x) + F_471(x))
Eq(F_471(x), F_472(x))
Eq(F_472(x), F_25(x)*F_254(x))
Eq(F_473(x), F_164(x))
Eq(F_474(x), F_36(x) + F_475(x))
Eq(F_475(x), F_476(x))
Eq(F_476(x), F_4(x)*F_477(x))
Eq(F_477(x), F_478(x) + F_485(x))
Eq(F_478(x), F_479(x))
Eq(F_479(x), F_480(x) + F_484(x))
Eq(F_480(x), F_481(x) + F_482(x))
Eq(F_481(x), F_231(x) + F_267(x))
Eq(F_482(x), F_25(x)*F_483(x))
Eq(F_483(x), F_203(x) + F_86(x))
Eq(F_484(x), F_25(x)*F_44(x))
Eq(F_485(x), F_486(x) + F_487(x))
Eq(F_486(x), F_276(x) + F_278(x))
Eq(F_487(x), F_488(x) + F_491(x))
Eq(F_488(x), F_288(x) + F_489(x))
Eq(F_489(x), F_287(x) + F_490(x))
Eq(F_490(x), F_25(x)*F_36(x))
Eq(F_491(x), F_492(x) - F_506(x))
Eq(F_492(x), -F_365(x) + F_493(x))
Eq(F_493(x), F_494(x)/F_4(x))
Eq(F_494(x), F_495(x))
Eq(F_495(x), F_496(x) - F_505(x))
Eq(F_496(x), F_497(x) - F_503(x))
Eq(F_497(x), F_498(x)/F_4(x))
Eq(F_498(x), F_499(x))
Eq(F_499(x), F_4(x)*F_500(x))
Eq(F_500(x), F_348(x) + F_501(x))
Eq(F_501(x), F_365(x) + F_502(x))
Eq(F_502(x), F_117(x) + F_321(x))
Eq(F_503(x), F_345(x) + F_504(x))
Eq(F_504(x), F_106(x) + F_8(x))
Eq(F_505(x), F_128(x) + F_372(x))
Eq(F_506(x), F_507(x) + F_508(x))
Eq(F_507(x), F_24(x)*F_36(x))
Eq(F_508(x), F_83(x)*F_84(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}, {"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": true, "maxreqlen": 1, "one_cell_only": true, "strategy_class": "CellInsertionFactory"}], "iterative": false, "name": "insertion_point_placements_expand_verified", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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}}, "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, "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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 0], [2, 1]], [[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": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 0], [1, 2]], [[2, 1]]], "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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1]], [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [2, 0], [2, 2]], [[1, 1]]], "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 2], [3, 0]], [[1, 1]]], "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": [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 2], [3, 0]]], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4], [2, 0], [2, 3], [3, 0], [3, 2]], [[1, 1]]], "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"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, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 1], [2, 0], [2, 3]], [[3, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 1], [2, 2]], [[1, 0]]], "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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [0, 4], [2, 0]], [[1, 3]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 2], [3, 2], [4, 0]], [[1, 1]]], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 0], [2, 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], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 0], [2, 0], [4, 0]], [[3, 1]]], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 3]]}, {"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], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 1], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 4], [1, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]]], "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": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 2]], [[1, 1]]], "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"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": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [1, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [2, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [1, 3], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 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": [], "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, 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": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [3, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [2, 4], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [3, 4]]}, {"patt": [2, 1, 0], "pos": [[0, 4], [2, 4], [3, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 4], [2, 0], [2, 4], [3, 4], [4, 2]], [[1, 3]]], "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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [1, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [2, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [1, 3], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 1], [4, 1], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 1], [2, 0], [4, 0], [4, 1]], [[3, 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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1], [1, 3], [3, 0]], [[2, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 1], [2, 0], [4, 0], [4, 1]], [[3, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 2], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2], [2, 0], [3, 0], [3, 2]], [[4, 1]]], "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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, 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, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 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": [], "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, 1]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 5], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[2, 4]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [0, 5], [2, 4], [3, 1], [3, 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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 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, 0]]}, {"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, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 3], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 3], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [2, 2], [2, 3], [3, 0], [3, 2]], [[1, 1]]], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"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, 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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"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, 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, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"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, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [1, 1], [1, 2], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [2, 0]], [[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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 2], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1], [3, 0], [3, 2]], [[2, 3]]], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 2]], [[2, 0], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 2], [2, 0], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 0], [2, 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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[3, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 3], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 0], [3, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [2, 3], [3, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 0], [1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 3], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 0], [3, 0], [3, 3]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [5, 2]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [0, 1], "pos": [[5, 2], [5, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [5, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 2], [3, 2], [5, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [5, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1], [3, 0], [3, 2], [4, 4], [5, 2]], [[2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 0], [1, 1]], [[2, 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, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 3], [4, 2]], [[1, 1]]], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [2, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2]], [[1, 0]], [[2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"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": [], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 3], [2, 1], [2, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 3]]}]]}, {"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, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 4]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [0, 4], [2, 1], [2, 2], [2, 4]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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]], [[1, 2], [2, 1], [2, 2]]], "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": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 1], [2, 0]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"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, 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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[2, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 0], [2, 2], [2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"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]]}]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"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]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"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, 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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[2, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 0], [2, 2], [2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 2], [3, 0], [4, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "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": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1], [4, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [4, 2], [4, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [4, 2], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [4, 2], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 2], [3, 0], [4, 0], [4, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 2], [2, 1], [2, 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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 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, 0]]}, {"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, 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, 5]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[2, 4]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 5], [2, 0], [2, 3], [2, 4], [3, 0], [3, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 4]]}], "ignore_parent": true, "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": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 4]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 3], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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, 2], [0, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 2]], [[2, 0], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 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": [], "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, 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, 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], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 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": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 0], [2, 2], [3, 4], [4, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 3], [3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "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], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 3], [3, 2]]], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 0], [1, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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]], [[1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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]], [[1, 2], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 2], [2, 2]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 3], [3, 1], [3, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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]], [[1, 2]], [[2, 1], [2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"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, 3]], [[1, 2]], [[2, 1], [2, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 3]], [[1, 1]]], "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": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 1]], [[2, 0], [2, 2], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"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": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"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": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [1, 2]], [[2, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 2]], [[2, 0], [2, 1], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 1], [2, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 3]], [[1, 1]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 1], [1, 2], [1, 3]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 0], [1, 2], [1, 3]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "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, 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": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 2], [2, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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]]}, {"patt": [0, 1], "pos": [[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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 2]], [[2, 0], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "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, 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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4]], [[1, 2], [3, 0], [3, 1], [3, 2]], [[2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 1], [2, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[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]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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, 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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 2], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}], "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, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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", "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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": "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, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 3], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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", "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": "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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": {"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, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": [], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 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": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": {"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, 2]]}, {"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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": "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": [], "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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 2], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 2], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[3, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": {"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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, 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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 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": "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 3]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 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": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [], "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], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}], "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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", "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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, 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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 3], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"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, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": "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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 1], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 4], [1, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[2, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"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, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [5, 2]]}, {"patt": [0, 1], "pos": [[4, 4], [4, 4]]}, {"patt": [0, 1], "pos": [[5, 2], [5, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [5, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 2], [3, 2], [5, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [5, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 2]]}]]}], "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": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 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": "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, 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": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 4], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [0, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [3, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [2, 4], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [3, 4]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [3, 4]]}, {"patt": [2, 1, 0], "pos": [[0, 4], [2, 4], [3, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 4], [0, 4], [3, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 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": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [3, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 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": [], "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, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [3, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": [], "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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 1]]}, {"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], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 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": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 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": "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [], "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": {"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": {"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [], "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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}]]}], "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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 1], [0, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 4], [2, 4]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 4], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 4], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 1], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 4]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 3], [2, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 3], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 3], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 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": "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, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[1, 3], [1, 1]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 3]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 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": "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 1], [4, 1], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 4], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[2, 4]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": "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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "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, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 4], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 4], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 4], [2, 4]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[2, 4]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [2, 3], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [4, 1], [4, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [4, 0], [4, 1], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": {"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": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "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": "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[4, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 1], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 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": [], "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], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [4, 2], [4, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [4, 2], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [4, 2], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 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], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 2], [3, 2]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 2], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 2], [2, 2]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}], [{"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "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": "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, 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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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, 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, 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, 5]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 5], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 3], [2, 4], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 0], [2, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 4], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[2, 4]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 3], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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, 1]]}, {"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": [[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, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[0, 5], [0, 5]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 5], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 5]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 5], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[2, 4]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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": {"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, 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, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 3], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 3], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 3], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 3], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [0, 2], [2, 3], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [2, 2], [2, 3], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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, 0]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[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": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 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": 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"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}

Specification 5
Strategy pack name: insertion_point_row_placements_expand_verified
Tree: http://permpal.com/tree/21111/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[9,x]
F[4,x] = F[17,x]+F[5,x]
F[5,x] = F[1,x]+F[6,x]
F[6,x] = F[7,x]*F[9,x]
F[7,x] = F[1,x]+F[10,x]+F[8,x]
F[8,x] = F[7,x]*F[9,x]
F[9,x] = x
F[10,x] = F[11,x]*F[9,x]
F[11,x] = F[12,x,1]
F[12,x,k[0]] = (F[13,x,k[0]]*k[0]-F[13,x,1])/(-1+k[0])
F[13,x,k[0]] = F[1,x]+F[14,x,k[0]]+F[16,x,k[0]]
F[14,x,k[0]] = F[13,x,k[0]]*F[15,x,k[0]]
F[15,x,k[0]] = k[0]*x
F[16,x,k[0]] = F[12,x,k[0]]*F[9,x]
F[17,x] = F[18,x]+F[19,x]
F[18,x] = F[6,x]
F[19,x] = F[20,x]
F[20,x] = F[21,x]*F[9,x]
F[21,x] = F[22,x]+F[26,x]
F[22,x] = F[18,x]*F[23,x]
F[23,x] = F[1,x]+F[24,x]
F[24,x] = F[25,x]
F[25,x] = F[23,x]*F[9,x]
F[26,x] = F[27,x]+F[324,x]
F[27,x] = F[28,x]+F[409,x]
F[28,x] = F[18,x]+F[29,x]
F[29,x] = F[30,x]
F[30,x] = F[31,x]*F[9,x]
F[31,x] = F[32,x]+F[50,x]
F[32,x] = F[24,x]+F[33,x]
F[33,x] = F[34,x]
F[34,x] = F[35,x]*F[9,x]
F[35,x] = F[32,x]+F[36,x]
F[36,x] = F[24,x]*F[37,x]
F[37,x] = F[38,x]+F[45,x]
F[38,x] = F[23,x]+F[39,x]
F[39,x] = F[24,x]+F[40,x]
F[40,x] = F[41,x]+F[42,x]+F[44,x]
F[41,x] = 0
F[42,x] = F[43,x]*F[9,x]
F[43,x] = F[24,x]+F[40,x]
F[44,x] = F[39,x]*F[9,x]
F[45,x] = F[24,x]+F[46,x]
F[46,x] = F[41,x]+F[47,x]+F[49,x]
F[47,x] = F[48,x]*F[9,x]
F[48,x] = F[24,x]+F[46,x]
F[49,x] = F[45,x]*F[9,x]
F[50,x] = F[375,x]+F[51,x]
F[51,x] = F[52,x]+F[63,x]
F[52,x] = F[53,x]+F[54,x]
F[53,x] = F[24,x]*F[5,x]
F[54,x] = F[23,x]*F[55,x]
F[55,x] = F[56,x]
F[56,x] = F[57,x]*F[9,x]
F[57,x] = F[41,x]+F[58,x]+F[8,x]
F[58,x] = F[59,x]*F[9,x]
F[59,x] = F[60,x,1]
F[60,x,k[0]] = (F[61,x,k[0]]*k[0]-F[61,x,1])/(-1+k[0])
F[61,x,k[0]] = F[14,x,k[0]]+F[41,x]+F[62,x,k[0]]
F[62,x,k[0]] = F[60,x,k[0]]*F[9,x]
F[63,x] = F[64,x]+F[73,x]
F[64,x] = F[65,x]
F[65,x] = F[66,x]*F[9,x]
F[66,x] = F[67,x]+F[69,x]
F[67,x] = 2*F[68,x]
F[68,x] = F[23,x]*F[24,x]
F[69,x] = F[70,x]+F[72,x]
F[70,x] = F[64,x]+F[71,x]
F[71,x] = F[24,x]*F[45,x]
F[72,x] = F[24,x]*F[40,x]
F[73,x] = F[355,x]+F[41,x]+F[74,x]
F[74,x] = F[75,x]*F[9,x]
F[75,x] = F[76,x]+F[94,x]
F[76,x] = F[77,x]
F[77,x] = F[78,x]+F[93,x]
F[78,x] = F[79,x]
F[79,x] = F[80,x]*F[9,x]
F[80,x] = F[81,x]+F[85,x]
F[81,x] = F[24,x]+F[82,x]
F[82,x] = -F[23,x]+F[83,x]
F[83,x] = 1/F[9,x]*F[84,x]
F[84,x] = F[18,x]
F[85,x] = F[86,x]+F[87,x]
F[86,x] = F[24,x]^2
F[87,x] = -F[92,x]+F[88,x]
F[88,x] = -F[82,x]+F[89,x]
F[89,x] = 1/F[9,x]*F[90,x]
F[90,x] = F[91,x]
F[91,x] = -F[18,x]+F[82,x]
F[92,x] = F[23,x]*F[24,x]
F[93,x] = F[24,x]*F[40,x]
F[94,x] = F[73,x]+F[95,x]
F[95,x] = -F[350,x]+F[96,x]
F[96,x] = -F[349,x]+F[97,x]
F[97,x] = -F[346,x]+F[98,x]
F[98,x] = -F[200,x]+F[99,x]
F[99,x] = -F[184,x]+F[100,x]
F[100,x] = 1/F[9,x]*F[101,x]
F[101,x] = F[102,x]
F[102,x] = F[103,x]
F[103,x] = F[104,x]*F[9,x]
F[104,x] = F[105,x]+F[164,x]
F[105,x] = F[106,x]
F[106,x] = F[107,x]+F[114,x]
F[107,x] = F[108,x]+F[110,x]
F[108,x] = F[109,x]*F[24,x]
F[109,x] = F[24,x]+F[39,x]
F[110,x] = F[111,x]+F[113,x]
F[111,x] = -F[24,x]+F[112,x]
F[112,x] = -F[5,x]+F[7,x]
F[113,x] = F[24,x]*F[46,x]
F[114,x] = F[115,x]+F[120,x]
F[115,x] = F[116,x]
F[116,x] = F[117,x]*F[24,x]
F[117,x] = F[118,x]+F[119,x]
F[118,x] = F[18,x]*F[24,x]
F[119,x] = F[24,x]*F[39,x]
F[120,x] = F[102,x]+F[121,x]
F[121,x] = F[122,x]*F[24,x]
F[122,x] = -F[163,x]+F[123,x]
F[123,x] = -F[150,x]+F[124,x]
F[124,x] = -F[141,x]+F[125,x]
F[125,x] = 1/F[9,x]*F[126,x]
F[126,x] = F[127,x]
F[127,x] = F[128,x]+F[139,x]+F[41,x]
F[128,x] = F[129,x]
F[129,x] = F[130,x]*F[24,x]*F[9,x]
F[130,x] = F[131,x]+F[48,x]
F[131,x] = F[132,x]+F[135,x]
F[132,x] = F[133,x]
F[133,x] = F[134,x]*F[9,x]
F[134,x] = F[132,x]+F[24,x]
F[135,x] = 2*F[41,x]+F[136,x]+F[138,x]
F[136,x] = F[137,x]*F[9,x]
F[137,x] = F[135,x]+F[46,x]
F[138,x] = F[131,x]*F[9,x]
F[139,x] = F[140,x]*F[9,x]
F[140,x] = F[127,x]+F[78,x]
F[141,x] = F[142,x]+F[46,x]
F[142,x] = F[143,x]
F[143,x] = F[144,x]*F[9,x]
F[144,x] = F[145,x]+F[146,x]
F[145,x] = F[24,x]*F[39,x]
F[146,x] = F[147,x]*F[24,x]
F[147,x] = F[148,x]+F[149,x]
F[148,x] = F[24,x]*F[38,x]
F[149,x] = F[23,x]*F[48,x]
F[150,x] = -F[162,x]+F[151,x]
F[151,x] = -F[157,x]+F[152,x]
F[152,x] = 1/F[9,x]*F[153,x]
F[153,x] = F[154,x]
F[154,x] = -F[155,x]-F[41,x]+F[127,x]
F[155,x] = F[156,x]
F[156,x] = F[24,x]*F[45,x]*F[9,x]
F[157,x] = F[158,x]+F[159,x]
F[158,x] = F[24,x]^2*F[23,x]
F[159,x] = F[127,x]+F[160,x]
F[160,x] = F[161,x]
F[161,x] = F[24,x]^2*F[78,x]
F[162,x] = F[142,x]+F[86,x]
F[163,x] = F[118,x]
F[164,x] = F[165,x]
F[165,x] = F[166,x]+F[170,x]
F[166,x] = F[167,x]+F[168,x]
F[167,x] = F[24,x]*F[46,x]
F[168,x] = F[169,x]
F[169,x] = F[24,x]^2*F[39,x]
F[170,x] = F[171,x]+F[182,x]
F[171,x] = F[172,x]*F[24,x]
F[172,x] = -F[46,x]+F[173,x]
F[173,x] = -F[176,x]+F[174,x]
F[174,x] = 1/F[9,x]*F[175,x]
F[175,x] = F[91,x]
F[176,x] = F[177,x]+F[179,x]
F[177,x] = F[178,x]+F[24,x]
F[178,x] = F[23,x]*F[24,x]
F[179,x] = F[180,x]+F[181,x]
F[180,x] = F[18,x]*F[24,x]
F[181,x] = F[23,x]*F[91,x]
F[182,x] = F[183,x]
F[183,x] = F[24,x]*F[39,x]*F[40,x]
F[184,x] = F[185,x]
F[185,x] = F[107,x]+F[186,x]
F[186,x] = F[187,x]+F[189,x]
F[187,x] = F[188,x]
F[188,x] = F[24,x]^3
F[189,x] = F[190,x]+F[198,x]
F[190,x] = -F[195,x]+F[191,x]
F[191,x] = -F[32,x]+F[192,x]
F[192,x] = 1/F[9,x]*F[193,x]
F[193,x] = -F[194,x]-F[41,x]+F[33,x]
F[194,x] = F[48,x]*F[9,x]
F[195,x] = F[196,x]
F[196,x] = F[197,x]*F[9,x]
F[197,x] = F[195,x]+F[24,x]
F[198,x] = F[199,x]
F[199,x] = F[24,x]^4
F[200,x] = F[201,x]+F[221,x]
F[201,x] = F[202,x]
F[202,x] = F[203,x]*F[24,x]
F[203,x] = -F[210,x]+F[204,x]
F[204,x] = -F[209,x]+F[205,x]
F[205,x] = -F[208,x]+F[206,x]
F[206,x] = 1/F[9,x]*F[207,x]
F[207,x] = F[91,x]
F[208,x] = F[177,x]*F[23,x]
F[209,x] = F[71,x]+F[91,x]
F[210,x] = F[211,x]*F[24,x]
F[211,x] = F[212,x]+F[219,x]+F[41,x]
F[212,x] = F[213,x]
F[213,x] = F[214,x]*F[23,x]*F[9,x]
F[214,x] = F[212,x]+F[215,x]+F[41,x]
F[215,x] = F[216,x]*F[9,x]
F[216,x] = F[215,x]+F[217,x]+F[23,x]
F[217,x] = F[218,x]
F[218,x] = F[216,x]*F[23,x]*F[9,x]
F[219,x] = F[220,x]*F[9,x]
F[220,x] = F[217,x]+F[219,x]+F[41,x]
F[221,x] = F[222,x]+F[342,x]
F[222,x] = -F[341,x]+F[223,x]
F[223,x] = -F[246,x]+F[224,x]
F[224,x] = -F[254,x]+F[225,x]
F[225,x] = -F[340,x]+F[226,x]
F[226,x] = 1/F[9,x]*F[227,x]
F[227,x] = F[228,x]
F[228,x] = F[229,x]
F[229,x] = F[230,x]*F[9,x]
F[230,x] = F[231,x]+F[245,x]
F[231,x] = F[232,x]+F[242,x]
F[232,x] = F[233,x]+F[241,x]
F[233,x] = F[234,x]
F[234,x] = F[235,x]*F[9,x]
F[235,x] = F[236,x]+F[39,x]
F[236,x] = F[237,x]+F[92,x]
F[237,x] = -F[86,x]+F[238,x]
F[238,x] = -F[109,x]+F[239,x]
F[239,x] = 1/F[9,x]*F[240,x]
F[240,x] = F[33,x]
F[241,x] = F[24,x]*F[40,x]
F[242,x] = F[243,x]+F[244,x]
F[243,x] = F[233,x]*F[24,x]
F[244,x] = F[40,x]^2
F[245,x] = F[246,x]+F[254,x]
F[246,x] = F[228,x]+F[247,x]
F[247,x] = F[248,x]
F[248,x] = F[249,x]*F[9,x]
F[249,x] = F[250,x]+F[251,x]
F[250,x] = F[177,x]*F[23,x]
F[251,x] = F[252,x]+F[71,x]
F[252,x] = F[210,x]+F[253,x]
F[253,x] = F[203,x]+F[247,x]
F[254,x] = F[255,x]+F[265,x]
F[255,x] = -F[233,x]+F[256,x]
F[256,x] = -F[261,x]+F[257,x]
F[257,x] = -F[260,x]+F[258,x]
F[258,x] = 1/F[9,x]*F[259,x]
F[259,x] = F[233,x]
F[260,x] = F[24,x]*F[38,x]
F[261,x] = F[24,x]+F[262,x]
F[262,x] = F[263,x]
F[263,x] = F[264,x]*F[9,x]
F[264,x] = F[24,x]+F[262,x]
F[265,x] = -F[316,x]+F[266,x]
F[266,x] = -F[313,x]+F[267,x]
F[267,x] = -F[299,x]+F[268,x]
F[268,x] = 1/F[9,x]*F[269,x]
F[269,x] = F[270,x]
F[270,x] = F[271,x]+F[295,x]+F[41,x]
F[271,x] = F[272,x]
F[272,x] = F[273,x]*F[9,x]
F[273,x] = F[274,x]+F[277,x]
F[274,x] = F[275,x]+F[276,x]
F[275,x] = F[24,x]*F[48,x]
F[276,x] = F[24,x]*F[82,x]
F[277,x] = F[278,x]+F[289,x]
F[278,x] = F[24,x]*F[279,x]
F[279,x] = F[280,x]+F[46,x]
F[280,x] = F[138,x]+F[281,x]+F[283,x]+F[41,x]
F[281,x] = F[282,x]*F[9,x]
F[282,x] = F[280,x]+F[46,x]
F[283,x] = F[284,x]*F[9,x]
F[284,x] = F[195,x]+F[285,x]
F[285,x] = 2*F[41,x]+F[283,x]+F[286,x]
F[286,x] = F[287,x]*F[9,x]
F[287,x] = F[132,x]+F[288,x]
F[288,x] = F[286,x]
F[289,x] = F[270,x]+F[290,x]
F[290,x] = -F[172,x]+F[291,x]
F[291,x] = -F[298,x]+F[292,x]
F[292,x] = -F[297,x]+F[293,x]
F[293,x] = 1/F[9,x]*F[294,x]
F[294,x] = -F[295,x]-F[41,x]+F[172,x]
F[295,x] = F[296,x]*F[9,x]
F[296,x] = F[172,x]+F[78,x]
F[297,x] = F[24,x]*F[81,x]
F[298,x] = F[24,x]*F[46,x]
F[299,x] = -F[302,x]+F[300,x]
F[300,x] = 1/F[9,x]*F[301,x]
F[301,x] = F[172,x]
F[302,x] = F[303,x]+F[312,x]
F[303,x] = F[304,x]+F[311,x]+F[41,x]
F[304,x] = F[305,x]
F[305,x] = F[306,x]*F[9,x]
F[306,x] = F[303,x]+F[307,x]
F[307,x] = F[23,x]*F[308,x]*F[9,x]
F[308,x] = F[215,x]+F[309,x]+F[41,x]
F[309,x] = F[310,x]
F[310,x] = F[23,x]*F[308,x]*F[9,x]
F[311,x] = F[214,x]*F[9,x]
F[312,x] = F[214,x]*F[24,x]
F[313,x] = F[314,x]
F[314,x] = F[24,x]*F[315,x]
F[315,x] = F[48,x]+F[68,x]
F[316,x] = F[317,x]+F[338,x]
F[317,x] = -F[337,x]+F[318,x]
F[318,x] = -F[333,x]+F[319,x]
F[319,x] = -F[332,x]+F[320,x]
F[320,x] = 1/F[9,x]*F[321,x]
F[321,x] = F[322,x]
F[322,x] = -F[323,x]-F[41,x]+F[270,x]
F[323,x] = F[324,x]*F[9,x]
F[324,x] = F[270,x]+F[325,x]
F[325,x] = F[326,x]
F[326,x] = F[327,x]*F[9,x]
F[327,x] = F[328,x]+F[329,x]
F[328,x] = F[178,x]+F[82,x]
F[329,x] = F[330,x]+F[71,x]
F[330,x] = F[325,x]+F[331,x]
F[331,x] = -F[78,x]+F[87,x]
F[332,x] = F[131,x]*F[24,x]
F[333,x] = -F[303,x]+F[334,x]
F[334,x] = 1/F[9,x]*F[335,x]
F[335,x] = -F[336,x]-F[41,x]+F[172,x]
F[336,x] = F[296,x]*F[9,x]
F[337,x] = F[24,x]^2
F[338,x] = F[24,x]*F[339,x]
F[339,x] = F[233,x]+F[317,x]
F[340,x] = F[23,x]*F[233,x]
F[341,x] = F[72,x]
F[342,x] = F[343,x]
F[343,x] = F[24,x]^2*F[344,x]
F[344,x] = F[304,x]+F[345,x]+F[41,x]
F[345,x] = F[211,x]*F[9,x]
F[346,x] = F[347,x]+F[348,x]
F[347,x] = F[111,x]*F[24,x]
F[348,x] = F[46,x]^2
F[349,x] = F[24,x]*F[91,x]
F[350,x] = -F[64,x]+F[351,x]
F[351,x] = -F[354,x]+F[352,x]
F[352,x] = 1/F[9,x]*F[353,x]
F[353,x] = -F[41,x]-F[49,x]+F[64,x]
F[354,x] = F[195,x]+F[24,x]
F[355,x] = F[356,x]*F[9,x]
F[356,x] = F[357,x]+F[359,x]
F[357,x] = F[24,x]*F[358,x]
F[358,x] = F[24,x]+F[45,x]
F[359,x] = F[167,x]+F[360,x]
F[360,x] = F[361,x]+F[362,x]
F[361,x] = -F[46,x]+F[237,x]
F[362,x] = -F[167,x]+F[363,x]
F[363,x] = -F[374,x]+F[364,x]
F[364,x] = -F[368,x]+F[365,x]
F[365,x] = 1/F[9,x]*F[366,x]
F[366,x] = -F[367,x]-F[41,x]+F[228,x]
F[367,x] = F[224,x]*F[9,x]
F[368,x] = F[369,x]+F[86,x]
F[369,x] = -F[40,x]+F[370,x]
F[370,x] = -F[92,x]+F[371,x]
F[371,x] = -F[45,x]+F[372,x]
F[372,x] = 1/F[9,x]*F[373,x]
F[373,x] = F[64,x]
F[374,x] = F[24,x]*F[48,x]
F[375,x] = -F[378,x]+F[376,x]
F[376,x] = 1/F[9,x]*F[377,x]
F[377,x] = F[228,x]
F[378,x] = F[379,x]+F[382,x]
F[379,x] = F[380,x]+F[381,x]
F[380,x] = F[23,x]*F[247,x]
F[381,x] = F[39,x]*F[40,x]
F[382,x] = -F[380,x]+F[383,x]
F[383,x] = -F[386,x]+F[384,x]
F[384,x] = 1/F[9,x]*F[385,x]
F[385,x] = F[228,x]
F[386,x] = 1/F[9,x]*F[387,x]
F[387,x] = -F[388,x]-F[41,x]+F[228,x]
F[388,x] = F[389,x]*F[9,x]
F[389,x] = F[390,x]+F[396,x]
F[390,x] = F[118,x]+F[391,x]
F[391,x] = F[392,x]
F[392,x] = F[393,x]*F[9,x]
F[393,x] = F[394,x]+F[395,x]
F[394,x] = F[18,x]*F[23,x]*F[24,x]
F[395,x] = F[23,x]*F[24,x]*F[48,x]
F[396,x] = F[397,x]+F[398,x]
F[397,x] = F[112,x]*F[24,x]
F[398,x] = F[142,x]+F[399,x]
F[399,x] = F[400,x]+F[401,x]+F[41,x]
F[400,x] = F[46,x]*F[48,x]*F[9,x]
F[401,x] = F[402,x]*F[9,x]
F[402,x] = F[399,x]+F[403,x]
F[403,x] = -F[40,x]+F[404,x]
F[404,x] = -F[112,x]+F[405,x]
F[405,x] = -F[408,x]+F[406,x]
F[406,x] = 1/F[9,x]*F[407,x]
F[407,x] = F[247,x]
F[408,x] = F[18,x]*F[23,x]
F[409,x] = F[102,x]+F[91,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{9}\! \left(x \right)
F_{4}\! \left(x \right) = F_{17}\! \left(x \right)+F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{1}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{7}\! \left(x \right) F_{9}\! \left(x \right)
F_{7}\! \left(x \right) = F_{1}\! \left(x \right)+F_{10}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{7}\! \left(x \right) F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = x
F_{10}\! \left(x \right) = F_{11}\! \left(x \right) F_{9}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x , 1\right)
F_{12}\! \left(x , y\right) = -\frac{-y F_{13}\! \left(x , y\right)+F_{13}\! \left(x , 1\right)}{-1+y}
F_{13}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{14}\! \left(x , y\right)+F_{16}\! \left(x , y\right)
F_{14}\! \left(x , y\right) = F_{13}\! \left(x , y\right) F_{15}\! \left(x , y\right)
F_{15}\! \left(x , y\right) = y x
F_{16}\! \left(x , y\right) = F_{12}\! \left(x , y\right) F_{9}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{19}\! \left(x \right)
F_{18}\! \left(x \right) = F_{6}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right) F_{9}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right)+F_{26}\! \left(x \right)
F_{22}\! \left(x \right) = F_{18}\! \left(x \right) F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{1}\! \left(x \right)+F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{23}\! \left(x \right) F_{9}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)+F_{324}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right)+F_{409}\! \left(x \right)
F_{28}\! \left(x \right) = F_{18}\! \left(x \right)+F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{31}\! \left(x \right) F_{9}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)+F_{50}\! \left(x \right)
F_{32}\! \left(x \right) = F_{24}\! \left(x \right)+F_{33}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)
F_{34}\! \left(x \right) = F_{35}\! \left(x \right) F_{9}\! \left(x \right)
F_{35}\! \left(x \right) = F_{32}\! \left(x \right)+F_{36}\! \left(x \right)
F_{36}\! \left(x \right) = F_{24}\! \left(x \right) F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right)+F_{45}\! \left(x \right)
F_{38}\! \left(x \right) = F_{23}\! \left(x \right)+F_{39}\! \left(x \right)
F_{39}\! \left(x \right) = F_{24}\! \left(x \right)+F_{40}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right)+F_{42}\! \left(x \right)+F_{44}\! \left(x \right)
F_{41}\! \left(x \right) = 0
F_{42}\! \left(x \right) = F_{43}\! \left(x \right) F_{9}\! \left(x \right)
F_{43}\! \left(x \right) = F_{24}\! \left(x \right)+F_{40}\! \left(x \right)
F_{44}\! \left(x \right) = F_{39}\! \left(x \right) F_{9}\! \left(x \right)
F_{45}\! \left(x \right) = F_{24}\! \left(x \right)+F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{41}\! \left(x \right)+F_{47}\! \left(x \right)+F_{49}\! \left(x \right)
F_{47}\! \left(x \right) = F_{48}\! \left(x \right) F_{9}\! \left(x \right)
F_{48}\! \left(x \right) = F_{24}\! \left(x \right)+F_{46}\! \left(x \right)
F_{49}\! \left(x \right) = F_{45}\! \left(x \right) F_{9}\! \left(x \right)
F_{50}\! \left(x \right) = F_{375}\! \left(x \right)+F_{51}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)+F_{63}\! \left(x \right)
F_{52}\! \left(x \right) = F_{53}\! \left(x \right)+F_{54}\! \left(x \right)
F_{53}\! \left(x \right) = F_{24}\! \left(x \right) F_{5}\! \left(x \right)
F_{54}\! \left(x \right) = F_{23}\! \left(x \right) F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = F_{57}\! \left(x \right) F_{9}\! \left(x \right)
F_{57}\! \left(x \right) = F_{41}\! \left(x \right)+F_{58}\! \left(x \right)+F_{8}\! \left(x \right)
F_{58}\! \left(x \right) = F_{59}\! \left(x \right) F_{9}\! \left(x \right)
F_{59}\! \left(x \right) = F_{60}\! \left(x , 1\right)
F_{60}\! \left(x , y\right) = -\frac{-y F_{61}\! \left(x , y\right)+F_{61}\! \left(x , 1\right)}{-1+y}
F_{61}\! \left(x , y\right) = F_{14}\! \left(x , y\right)+F_{41}\! \left(x \right)+F_{62}\! \left(x , y\right)
F_{62}\! \left(x , y\right) = F_{60}\! \left(x , y\right) F_{9}\! \left(x \right)
F_{63}\! \left(x \right) = F_{64}\! \left(x \right)+F_{73}\! \left(x \right)
F_{64}\! \left(x \right) = F_{65}\! \left(x \right)
F_{65}\! \left(x \right) = F_{66}\! \left(x \right) F_{9}\! \left(x \right)
F_{66}\! \left(x \right) = F_{67}\! \left(x \right)+F_{69}\! \left(x \right)
F_{67}\! \left(x \right) = 2 F_{68}\! \left(x \right)
F_{68}\! \left(x \right) = F_{23}\! \left(x \right) F_{24}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)+F_{72}\! \left(x \right)
F_{70}\! \left(x \right) = F_{64}\! \left(x \right)+F_{71}\! \left(x \right)
F_{71}\! \left(x \right) = F_{24}\! \left(x \right) F_{45}\! \left(x \right)
F_{72}\! \left(x \right) = F_{24}\! \left(x \right) F_{40}\! \left(x \right)
F_{73}\! \left(x \right) = F_{355}\! \left(x \right)+F_{41}\! \left(x \right)+F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{75}\! \left(x \right) F_{9}\! \left(x \right)
F_{75}\! \left(x \right) = F_{76}\! \left(x \right)+F_{94}\! \left(x \right)
F_{76}\! \left(x \right) = F_{77}\! \left(x \right)
F_{77}\! \left(x \right) = F_{78}\! \left(x \right)+F_{93}\! \left(x \right)
F_{78}\! \left(x \right) = F_{79}\! \left(x \right)
F_{79}\! \left(x \right) = F_{80}\! \left(x \right) F_{9}\! \left(x \right)
F_{80}\! \left(x \right) = F_{81}\! \left(x \right)+F_{85}\! \left(x \right)
F_{81}\! \left(x \right) = F_{24}\! \left(x \right)+F_{82}\! \left(x \right)
F_{82}\! \left(x \right) = -F_{23}\! \left(x \right)+F_{83}\! \left(x \right)
F_{83}\! \left(x \right) = \frac{F_{84}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{84}\! \left(x \right) = F_{18}\! \left(x \right)
F_{85}\! \left(x \right) = F_{86}\! \left(x \right)+F_{87}\! \left(x \right)
F_{86}\! \left(x \right) = F_{24} \left(x \right)^{2}
F_{87}\! \left(x \right) = -F_{92}\! \left(x \right)+F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = -F_{82}\! \left(x \right)+F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = \frac{F_{90}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{90}\! \left(x \right) = F_{91}\! \left(x \right)
F_{91}\! \left(x \right) = -F_{18}\! \left(x \right)+F_{82}\! \left(x \right)
F_{92}\! \left(x \right) = F_{23}\! \left(x \right) F_{24}\! \left(x \right)
F_{93}\! \left(x \right) = F_{24}\! \left(x \right) F_{40}\! \left(x \right)
F_{94}\! \left(x \right) = F_{73}\! \left(x \right)+F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = -F_{350}\! \left(x \right)+F_{96}\! \left(x \right)
F_{96}\! \left(x \right) = -F_{349}\! \left(x \right)+F_{97}\! \left(x \right)
F_{97}\! \left(x \right) = -F_{346}\! \left(x \right)+F_{98}\! \left(x \right)
F_{98}\! \left(x \right) = -F_{200}\! \left(x \right)+F_{99}\! \left(x \right)
F_{99}\! \left(x \right) = -F_{184}\! \left(x \right)+F_{100}\! \left(x \right)
F_{100}\! \left(x \right) = \frac{F_{101}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{101}\! \left(x \right) = F_{102}\! \left(x \right)
F_{102}\! \left(x \right) = F_{103}\! \left(x \right)
F_{103}\! \left(x \right) = F_{104}\! \left(x \right) F_{9}\! \left(x \right)
F_{104}\! \left(x \right) = F_{105}\! \left(x \right)+F_{164}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right)
F_{106}\! \left(x \right) = F_{107}\! \left(x \right)+F_{114}\! \left(x \right)
F_{107}\! \left(x \right) = F_{108}\! \left(x \right)+F_{110}\! \left(x \right)
F_{108}\! \left(x \right) = F_{109}\! \left(x \right) F_{24}\! \left(x \right)
F_{109}\! \left(x \right) = F_{24}\! \left(x \right)+F_{39}\! \left(x \right)
F_{110}\! \left(x \right) = F_{111}\! \left(x \right)+F_{113}\! \left(x \right)
F_{111}\! \left(x \right) = -F_{24}\! \left(x \right)+F_{112}\! \left(x \right)
F_{112}\! \left(x \right) = -F_{5}\! \left(x \right)+F_{7}\! \left(x \right)
F_{113}\! \left(x \right) = F_{24}\! \left(x \right) F_{46}\! \left(x \right)
F_{114}\! \left(x \right) = F_{115}\! \left(x \right)+F_{120}\! \left(x \right)
F_{115}\! \left(x \right) = F_{116}\! \left(x \right)
F_{116}\! \left(x \right) = F_{117}\! \left(x \right) F_{24}\! \left(x \right)
F_{117}\! \left(x \right) = F_{118}\! \left(x \right)+F_{119}\! \left(x \right)
F_{118}\! \left(x \right) = F_{18}\! \left(x \right) F_{24}\! \left(x \right)
F_{119}\! \left(x \right) = F_{24}\! \left(x \right) F_{39}\! \left(x \right)
F_{120}\! \left(x \right) = F_{102}\! \left(x \right)+F_{121}\! \left(x \right)
F_{121}\! \left(x \right) = F_{122}\! \left(x \right) F_{24}\! \left(x \right)
F_{122}\! \left(x \right) = -F_{163}\! \left(x \right)+F_{123}\! \left(x \right)
F_{123}\! \left(x \right) = -F_{150}\! \left(x \right)+F_{124}\! \left(x \right)
F_{124}\! \left(x \right) = -F_{141}\! \left(x \right)+F_{125}\! \left(x \right)
F_{125}\! \left(x \right) = \frac{F_{126}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{126}\! \left(x \right) = F_{127}\! \left(x \right)
F_{127}\! \left(x \right) = F_{128}\! \left(x \right)+F_{139}\! \left(x \right)+F_{41}\! \left(x \right)
F_{128}\! \left(x \right) = F_{129}\! \left(x \right)
F_{129}\! \left(x \right) = F_{130}\! \left(x \right) F_{24}\! \left(x \right) F_{9}\! \left(x \right)
F_{130}\! \left(x \right) = F_{131}\! \left(x \right)+F_{48}\! \left(x \right)
F_{131}\! \left(x \right) = F_{132}\! \left(x \right)+F_{135}\! \left(x \right)
F_{132}\! \left(x \right) = F_{133}\! \left(x \right)
F_{133}\! \left(x \right) = F_{134}\! \left(x \right) F_{9}\! \left(x \right)
F_{134}\! \left(x \right) = F_{132}\! \left(x \right)+F_{24}\! \left(x \right)
F_{135}\! \left(x \right) = 2 F_{41}\! \left(x \right)+F_{136}\! \left(x \right)+F_{138}\! \left(x \right)
F_{136}\! \left(x \right) = F_{137}\! \left(x \right) F_{9}\! \left(x \right)
F_{137}\! \left(x \right) = F_{135}\! \left(x \right)+F_{46}\! \left(x \right)
F_{138}\! \left(x \right) = F_{131}\! \left(x \right) F_{9}\! \left(x \right)
F_{139}\! \left(x \right) = F_{140}\! \left(x \right) F_{9}\! \left(x \right)
F_{140}\! \left(x \right) = F_{127}\! \left(x \right)+F_{78}\! \left(x \right)
F_{141}\! \left(x \right) = F_{142}\! \left(x \right)+F_{46}\! \left(x \right)
F_{142}\! \left(x \right) = F_{143}\! \left(x \right)
F_{143}\! \left(x \right) = F_{144}\! \left(x \right) F_{9}\! \left(x \right)
F_{144}\! \left(x \right) = F_{145}\! \left(x \right)+F_{146}\! \left(x \right)
F_{145}\! \left(x \right) = F_{24}\! \left(x \right) F_{39}\! \left(x \right)
F_{146}\! \left(x \right) = F_{147}\! \left(x \right) F_{24}\! \left(x \right)
F_{147}\! \left(x \right) = F_{148}\! \left(x \right)+F_{149}\! \left(x \right)
F_{148}\! \left(x \right) = F_{24}\! \left(x \right) F_{38}\! \left(x \right)
F_{149}\! \left(x \right) = F_{23}\! \left(x \right) F_{48}\! \left(x \right)
F_{150}\! \left(x \right) = -F_{162}\! \left(x \right)+F_{151}\! \left(x \right)
F_{151}\! \left(x \right) = -F_{157}\! \left(x \right)+F_{152}\! \left(x \right)
F_{152}\! \left(x \right) = \frac{F_{153}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{153}\! \left(x \right) = F_{154}\! \left(x \right)
F_{154}\! \left(x \right) = -F_{155}\! \left(x \right)-F_{41}\! \left(x \right)+F_{127}\! \left(x \right)
F_{155}\! \left(x \right) = F_{156}\! \left(x \right)
F_{156}\! \left(x \right) = F_{24}\! \left(x \right) F_{45}\! \left(x \right) F_{9}\! \left(x \right)
F_{157}\! \left(x \right) = F_{158}\! \left(x \right)+F_{159}\! \left(x \right)
F_{158}\! \left(x \right) = F_{24} \left(x \right)^{2} F_{23}\! \left(x \right)
F_{159}\! \left(x \right) = F_{127}\! \left(x \right)+F_{160}\! \left(x \right)
F_{160}\! \left(x \right) = F_{161}\! \left(x \right)
F_{161}\! \left(x \right) = F_{24} \left(x \right)^{2} F_{78}\! \left(x \right)
F_{162}\! \left(x \right) = F_{142}\! \left(x \right)+F_{86}\! \left(x \right)
F_{163}\! \left(x \right) = F_{118}\! \left(x \right)
F_{164}\! \left(x \right) = F_{165}\! \left(x \right)
F_{165}\! \left(x \right) = F_{166}\! \left(x \right)+F_{170}\! \left(x \right)
F_{166}\! \left(x \right) = F_{167}\! \left(x \right)+F_{168}\! \left(x \right)
F_{167}\! \left(x \right) = F_{24}\! \left(x \right) F_{46}\! \left(x \right)
F_{168}\! \left(x \right) = F_{169}\! \left(x \right)
F_{169}\! \left(x \right) = F_{24} \left(x \right)^{2} F_{39}\! \left(x \right)
F_{170}\! \left(x \right) = F_{171}\! \left(x \right)+F_{182}\! \left(x \right)
F_{171}\! \left(x \right) = F_{172}\! \left(x \right) F_{24}\! \left(x \right)
F_{172}\! \left(x \right) = -F_{46}\! \left(x \right)+F_{173}\! \left(x \right)
F_{173}\! \left(x \right) = -F_{176}\! \left(x \right)+F_{174}\! \left(x \right)
F_{174}\! \left(x \right) = \frac{F_{175}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{175}\! \left(x \right) = F_{91}\! \left(x \right)
F_{176}\! \left(x \right) = F_{177}\! \left(x \right)+F_{179}\! \left(x \right)
F_{177}\! \left(x \right) = F_{178}\! \left(x \right)+F_{24}\! \left(x \right)
F_{178}\! \left(x \right) = F_{23}\! \left(x \right) F_{24}\! \left(x \right)
F_{179}\! \left(x \right) = F_{180}\! \left(x \right)+F_{181}\! \left(x \right)
F_{180}\! \left(x \right) = F_{18}\! \left(x \right) F_{24}\! \left(x \right)
F_{181}\! \left(x \right) = F_{23}\! \left(x \right) F_{91}\! \left(x \right)
F_{182}\! \left(x \right) = F_{183}\! \left(x \right)
F_{183}\! \left(x \right) = F_{24}\! \left(x \right) F_{39}\! \left(x \right) F_{40}\! \left(x \right)
F_{184}\! \left(x \right) = F_{185}\! \left(x \right)
F_{185}\! \left(x \right) = F_{107}\! \left(x \right)+F_{186}\! \left(x \right)
F_{186}\! \left(x \right) = F_{187}\! \left(x \right)+F_{189}\! \left(x \right)
F_{187}\! \left(x \right) = F_{188}\! \left(x \right)
F_{188}\! \left(x \right) = F_{24} \left(x \right)^{3}
F_{189}\! \left(x \right) = F_{190}\! \left(x \right)+F_{198}\! \left(x \right)
F_{190}\! \left(x \right) = -F_{195}\! \left(x \right)+F_{191}\! \left(x \right)
F_{191}\! \left(x \right) = -F_{32}\! \left(x \right)+F_{192}\! \left(x \right)
F_{192}\! \left(x \right) = \frac{F_{193}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{193}\! \left(x \right) = -F_{194}\! \left(x \right)-F_{41}\! \left(x \right)+F_{33}\! \left(x \right)
F_{194}\! \left(x \right) = F_{48}\! \left(x \right) F_{9}\! \left(x \right)
F_{195}\! \left(x \right) = F_{196}\! \left(x \right)
F_{196}\! \left(x \right) = F_{197}\! \left(x \right) F_{9}\! \left(x \right)
F_{197}\! \left(x \right) = F_{195}\! \left(x \right)+F_{24}\! \left(x \right)
F_{198}\! \left(x \right) = F_{199}\! \left(x \right)
F_{199}\! \left(x \right) = F_{24} \left(x \right)^{4}
F_{200}\! \left(x \right) = F_{201}\! \left(x \right)+F_{221}\! \left(x \right)
F_{201}\! \left(x \right) = F_{202}\! \left(x \right)
F_{202}\! \left(x \right) = F_{203}\! \left(x \right) F_{24}\! \left(x \right)
F_{203}\! \left(x \right) = -F_{210}\! \left(x \right)+F_{204}\! \left(x \right)
F_{204}\! \left(x \right) = -F_{209}\! \left(x \right)+F_{205}\! \left(x \right)
F_{205}\! \left(x \right) = -F_{208}\! \left(x \right)+F_{206}\! \left(x \right)
F_{206}\! \left(x \right) = \frac{F_{207}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{207}\! \left(x \right) = F_{91}\! \left(x \right)
F_{208}\! \left(x \right) = F_{177}\! \left(x \right) F_{23}\! \left(x \right)
F_{209}\! \left(x \right) = F_{71}\! \left(x \right)+F_{91}\! \left(x \right)
F_{210}\! \left(x \right) = F_{211}\! \left(x \right) F_{24}\! \left(x \right)
F_{211}\! \left(x \right) = F_{212}\! \left(x \right)+F_{219}\! \left(x \right)+F_{41}\! \left(x \right)
F_{212}\! \left(x \right) = F_{213}\! \left(x \right)
F_{213}\! \left(x \right) = F_{214}\! \left(x \right) F_{23}\! \left(x \right) F_{9}\! \left(x \right)
F_{214}\! \left(x \right) = F_{212}\! \left(x \right)+F_{215}\! \left(x \right)+F_{41}\! \left(x \right)
F_{215}\! \left(x \right) = F_{216}\! \left(x \right) F_{9}\! \left(x \right)
F_{216}\! \left(x \right) = F_{215}\! \left(x \right)+F_{217}\! \left(x \right)+F_{23}\! \left(x \right)
F_{217}\! \left(x \right) = F_{218}\! \left(x \right)
F_{218}\! \left(x \right) = F_{216}\! \left(x \right) F_{23}\! \left(x \right) F_{9}\! \left(x \right)
F_{219}\! \left(x \right) = F_{220}\! \left(x \right) F_{9}\! \left(x \right)
F_{220}\! \left(x \right) = F_{217}\! \left(x \right)+F_{219}\! \left(x \right)+F_{41}\! \left(x \right)
F_{221}\! \left(x \right) = F_{222}\! \left(x \right)+F_{342}\! \left(x \right)
F_{222}\! \left(x \right) = -F_{341}\! \left(x \right)+F_{223}\! \left(x \right)
F_{223}\! \left(x \right) = -F_{246}\! \left(x \right)+F_{224}\! \left(x \right)
F_{224}\! \left(x \right) = -F_{254}\! \left(x \right)+F_{225}\! \left(x \right)
F_{225}\! \left(x \right) = -F_{340}\! \left(x \right)+F_{226}\! \left(x \right)
F_{226}\! \left(x \right) = \frac{F_{227}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{227}\! \left(x \right) = F_{228}\! \left(x \right)
F_{228}\! \left(x \right) = F_{229}\! \left(x \right)
F_{229}\! \left(x \right) = F_{230}\! \left(x \right) F_{9}\! \left(x \right)
F_{230}\! \left(x \right) = F_{231}\! \left(x \right)+F_{245}\! \left(x \right)
F_{231}\! \left(x \right) = F_{232}\! \left(x \right)+F_{242}\! \left(x \right)
F_{232}\! \left(x \right) = F_{233}\! \left(x \right)+F_{241}\! \left(x \right)
F_{233}\! \left(x \right) = F_{234}\! \left(x \right)
F_{234}\! \left(x \right) = F_{235}\! \left(x \right) F_{9}\! \left(x \right)
F_{235}\! \left(x \right) = F_{236}\! \left(x \right)+F_{39}\! \left(x \right)
F_{236}\! \left(x \right) = F_{237}\! \left(x \right)+F_{92}\! \left(x \right)
F_{237}\! \left(x \right) = -F_{86}\! \left(x \right)+F_{238}\! \left(x \right)
F_{238}\! \left(x \right) = -F_{109}\! \left(x \right)+F_{239}\! \left(x \right)
F_{239}\! \left(x \right) = \frac{F_{240}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{240}\! \left(x \right) = F_{33}\! \left(x \right)
F_{241}\! \left(x \right) = F_{24}\! \left(x \right) F_{40}\! \left(x \right)
F_{242}\! \left(x \right) = F_{243}\! \left(x \right)+F_{244}\! \left(x \right)
F_{243}\! \left(x \right) = F_{233}\! \left(x \right) F_{24}\! \left(x \right)
F_{244}\! \left(x \right) = F_{40} \left(x \right)^{2}
F_{245}\! \left(x \right) = F_{246}\! \left(x \right)+F_{254}\! \left(x \right)
F_{246}\! \left(x \right) = F_{228}\! \left(x \right)+F_{247}\! \left(x \right)
F_{247}\! \left(x \right) = F_{248}\! \left(x \right)
F_{248}\! \left(x \right) = F_{249}\! \left(x \right) F_{9}\! \left(x \right)
F_{249}\! \left(x \right) = F_{250}\! \left(x \right)+F_{251}\! \left(x \right)
F_{250}\! \left(x \right) = F_{177}\! \left(x \right) F_{23}\! \left(x \right)
F_{251}\! \left(x \right) = F_{252}\! \left(x \right)+F_{71}\! \left(x \right)
F_{252}\! \left(x \right) = F_{210}\! \left(x \right)+F_{253}\! \left(x \right)
F_{253}\! \left(x \right) = F_{203}\! \left(x \right)+F_{247}\! \left(x \right)
F_{254}\! \left(x \right) = F_{255}\! \left(x \right)+F_{265}\! \left(x \right)
F_{255}\! \left(x \right) = -F_{233}\! \left(x \right)+F_{256}\! \left(x \right)
F_{256}\! \left(x \right) = -F_{261}\! \left(x \right)+F_{257}\! \left(x \right)
F_{257}\! \left(x \right) = -F_{260}\! \left(x \right)+F_{258}\! \left(x \right)
F_{258}\! \left(x \right) = \frac{F_{259}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{259}\! \left(x \right) = F_{233}\! \left(x \right)
F_{260}\! \left(x \right) = F_{24}\! \left(x \right) F_{38}\! \left(x \right)
F_{261}\! \left(x \right) = F_{24}\! \left(x \right)+F_{262}\! \left(x \right)
F_{262}\! \left(x \right) = F_{263}\! \left(x \right)
F_{263}\! \left(x \right) = F_{264}\! \left(x \right) F_{9}\! \left(x \right)
F_{264}\! \left(x \right) = F_{24}\! \left(x \right)+F_{262}\! \left(x \right)
F_{265}\! \left(x \right) = -F_{316}\! \left(x \right)+F_{266}\! \left(x \right)
F_{266}\! \left(x \right) = -F_{313}\! \left(x \right)+F_{267}\! \left(x \right)
F_{267}\! \left(x \right) = -F_{299}\! \left(x \right)+F_{268}\! \left(x \right)
F_{268}\! \left(x \right) = \frac{F_{269}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{269}\! \left(x \right) = F_{270}\! \left(x \right)
F_{270}\! \left(x \right) = F_{271}\! \left(x \right)+F_{295}\! \left(x \right)+F_{41}\! \left(x \right)
F_{271}\! \left(x \right) = F_{272}\! \left(x \right)
F_{272}\! \left(x \right) = F_{273}\! \left(x \right) F_{9}\! \left(x \right)
F_{273}\! \left(x \right) = F_{274}\! \left(x \right)+F_{277}\! \left(x \right)
F_{274}\! \left(x \right) = F_{275}\! \left(x \right)+F_{276}\! \left(x \right)
F_{275}\! \left(x \right) = F_{24}\! \left(x \right) F_{48}\! \left(x \right)
F_{276}\! \left(x \right) = F_{24}\! \left(x \right) F_{82}\! \left(x \right)
F_{277}\! \left(x \right) = F_{278}\! \left(x \right)+F_{289}\! \left(x \right)
F_{278}\! \left(x \right) = F_{24}\! \left(x \right) F_{279}\! \left(x \right)
F_{279}\! \left(x \right) = F_{280}\! \left(x \right)+F_{46}\! \left(x \right)
F_{280}\! \left(x \right) = F_{138}\! \left(x \right)+F_{281}\! \left(x \right)+F_{283}\! \left(x \right)+F_{41}\! \left(x \right)
F_{281}\! \left(x \right) = F_{282}\! \left(x \right) F_{9}\! \left(x \right)
F_{282}\! \left(x \right) = F_{280}\! \left(x \right)+F_{46}\! \left(x \right)
F_{283}\! \left(x \right) = F_{284}\! \left(x \right) F_{9}\! \left(x \right)
F_{284}\! \left(x \right) = F_{195}\! \left(x \right)+F_{285}\! \left(x \right)
F_{285}\! \left(x \right) = 2 F_{41}\! \left(x \right)+F_{283}\! \left(x \right)+F_{286}\! \left(x \right)
F_{286}\! \left(x \right) = F_{287}\! \left(x \right) F_{9}\! \left(x \right)
F_{287}\! \left(x \right) = F_{132}\! \left(x \right)+F_{288}\! \left(x \right)
F_{288}\! \left(x \right) = F_{286}\! \left(x \right)
F_{289}\! \left(x \right) = F_{270}\! \left(x \right)+F_{290}\! \left(x \right)
F_{290}\! \left(x \right) = -F_{172}\! \left(x \right)+F_{291}\! \left(x \right)
F_{291}\! \left(x \right) = -F_{298}\! \left(x \right)+F_{292}\! \left(x \right)
F_{292}\! \left(x \right) = -F_{297}\! \left(x \right)+F_{293}\! \left(x \right)
F_{293}\! \left(x \right) = \frac{F_{294}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{294}\! \left(x \right) = -F_{295}\! \left(x \right)-F_{41}\! \left(x \right)+F_{172}\! \left(x \right)
F_{295}\! \left(x \right) = F_{296}\! \left(x \right) F_{9}\! \left(x \right)
F_{296}\! \left(x \right) = F_{172}\! \left(x \right)+F_{78}\! \left(x \right)
F_{297}\! \left(x \right) = F_{24}\! \left(x \right) F_{81}\! \left(x \right)
F_{298}\! \left(x \right) = F_{24}\! \left(x \right) F_{46}\! \left(x \right)
F_{299}\! \left(x \right) = -F_{302}\! \left(x \right)+F_{300}\! \left(x \right)
F_{300}\! \left(x \right) = \frac{F_{301}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{301}\! \left(x \right) = F_{172}\! \left(x \right)
F_{302}\! \left(x \right) = F_{303}\! \left(x \right)+F_{312}\! \left(x \right)
F_{303}\! \left(x \right) = F_{304}\! \left(x \right)+F_{311}\! \left(x \right)+F_{41}\! \left(x \right)
F_{304}\! \left(x \right) = F_{305}\! \left(x \right)
F_{305}\! \left(x \right) = F_{306}\! \left(x \right) F_{9}\! \left(x \right)
F_{306}\! \left(x \right) = F_{303}\! \left(x \right)+F_{307}\! \left(x \right)
F_{307}\! \left(x \right) = F_{23}\! \left(x \right) F_{308}\! \left(x \right) F_{9}\! \left(x \right)
F_{308}\! \left(x \right) = F_{215}\! \left(x \right)+F_{309}\! \left(x \right)+F_{41}\! \left(x \right)
F_{309}\! \left(x \right) = F_{310}\! \left(x \right)
F_{310}\! \left(x \right) = F_{23}\! \left(x \right) F_{308}\! \left(x \right) F_{9}\! \left(x \right)
F_{311}\! \left(x \right) = F_{214}\! \left(x \right) F_{9}\! \left(x \right)
F_{312}\! \left(x \right) = F_{214}\! \left(x \right) F_{24}\! \left(x \right)
F_{313}\! \left(x \right) = F_{314}\! \left(x \right)
F_{314}\! \left(x \right) = F_{24}\! \left(x \right) F_{315}\! \left(x \right)
F_{315}\! \left(x \right) = F_{48}\! \left(x \right)+F_{68}\! \left(x \right)
F_{316}\! \left(x \right) = F_{317}\! \left(x \right)+F_{338}\! \left(x \right)
F_{317}\! \left(x \right) = -F_{337}\! \left(x \right)+F_{318}\! \left(x \right)
F_{318}\! \left(x \right) = -F_{333}\! \left(x \right)+F_{319}\! \left(x \right)
F_{319}\! \left(x \right) = -F_{332}\! \left(x \right)+F_{320}\! \left(x \right)
F_{320}\! \left(x \right) = \frac{F_{321}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{321}\! \left(x \right) = F_{322}\! \left(x \right)
F_{322}\! \left(x \right) = -F_{323}\! \left(x \right)-F_{41}\! \left(x \right)+F_{270}\! \left(x \right)
F_{323}\! \left(x \right) = F_{324}\! \left(x \right) F_{9}\! \left(x \right)
F_{324}\! \left(x \right) = F_{270}\! \left(x \right)+F_{325}\! \left(x \right)
F_{325}\! \left(x \right) = F_{326}\! \left(x \right)
F_{326}\! \left(x \right) = F_{327}\! \left(x \right) F_{9}\! \left(x \right)
F_{327}\! \left(x \right) = F_{328}\! \left(x \right)+F_{329}\! \left(x \right)
F_{328}\! \left(x \right) = F_{178}\! \left(x \right)+F_{82}\! \left(x \right)
F_{329}\! \left(x \right) = F_{330}\! \left(x \right)+F_{71}\! \left(x \right)
F_{330}\! \left(x \right) = F_{325}\! \left(x \right)+F_{331}\! \left(x \right)
F_{331}\! \left(x \right) = -F_{78}\! \left(x \right)+F_{87}\! \left(x \right)
F_{332}\! \left(x \right) = F_{131}\! \left(x \right) F_{24}\! \left(x \right)
F_{333}\! \left(x \right) = -F_{303}\! \left(x \right)+F_{334}\! \left(x \right)
F_{334}\! \left(x \right) = \frac{F_{335}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{335}\! \left(x \right) = -F_{336}\! \left(x \right)-F_{41}\! \left(x \right)+F_{172}\! \left(x \right)
F_{336}\! \left(x \right) = F_{296}\! \left(x \right) F_{9}\! \left(x \right)
F_{337}\! \left(x \right) = F_{24} \left(x \right)^{2}
F_{338}\! \left(x \right) = F_{24}\! \left(x \right) F_{339}\! \left(x \right)
F_{339}\! \left(x \right) = F_{233}\! \left(x \right)+F_{317}\! \left(x \right)
F_{340}\! \left(x \right) = F_{23}\! \left(x \right) F_{233}\! \left(x \right)
F_{341}\! \left(x \right) = F_{72}\! \left(x \right)
F_{342}\! \left(x \right) = F_{343}\! \left(x \right)
F_{343}\! \left(x \right) = F_{24} \left(x \right)^{2} F_{344}\! \left(x \right)
F_{344}\! \left(x \right) = F_{304}\! \left(x \right)+F_{345}\! \left(x \right)+F_{41}\! \left(x \right)
F_{345}\! \left(x \right) = F_{211}\! \left(x \right) F_{9}\! \left(x \right)
F_{346}\! \left(x \right) = F_{347}\! \left(x \right)+F_{348}\! \left(x \right)
F_{347}\! \left(x \right) = F_{111}\! \left(x \right) F_{24}\! \left(x \right)
F_{348}\! \left(x \right) = F_{46} \left(x \right)^{2}
F_{349}\! \left(x \right) = F_{24}\! \left(x \right) F_{91}\! \left(x \right)
F_{350}\! \left(x \right) = -F_{64}\! \left(x \right)+F_{351}\! \left(x \right)
F_{351}\! \left(x \right) = -F_{354}\! \left(x \right)+F_{352}\! \left(x \right)
F_{352}\! \left(x \right) = \frac{F_{353}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{353}\! \left(x \right) = -F_{41}\! \left(x \right)-F_{49}\! \left(x \right)+F_{64}\! \left(x \right)
F_{354}\! \left(x \right) = F_{195}\! \left(x \right)+F_{24}\! \left(x \right)
F_{355}\! \left(x \right) = F_{356}\! \left(x \right) F_{9}\! \left(x \right)
F_{356}\! \left(x \right) = F_{357}\! \left(x \right)+F_{359}\! \left(x \right)
F_{357}\! \left(x \right) = F_{24}\! \left(x \right) F_{358}\! \left(x \right)
F_{358}\! \left(x \right) = F_{24}\! \left(x \right)+F_{45}\! \left(x \right)
F_{359}\! \left(x \right) = F_{167}\! \left(x \right)+F_{360}\! \left(x \right)
F_{360}\! \left(x \right) = F_{361}\! \left(x \right)+F_{362}\! \left(x \right)
F_{361}\! \left(x \right) = -F_{46}\! \left(x \right)+F_{237}\! \left(x \right)
F_{362}\! \left(x \right) = -F_{167}\! \left(x \right)+F_{363}\! \left(x \right)
F_{363}\! \left(x \right) = -F_{374}\! \left(x \right)+F_{364}\! \left(x \right)
F_{364}\! \left(x \right) = -F_{368}\! \left(x \right)+F_{365}\! \left(x \right)
F_{365}\! \left(x \right) = \frac{F_{366}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{366}\! \left(x \right) = -F_{367}\! \left(x \right)-F_{41}\! \left(x \right)+F_{228}\! \left(x \right)
F_{367}\! \left(x \right) = F_{224}\! \left(x \right) F_{9}\! \left(x \right)
F_{368}\! \left(x \right) = F_{369}\! \left(x \right)+F_{86}\! \left(x \right)
F_{369}\! \left(x \right) = -F_{40}\! \left(x \right)+F_{370}\! \left(x \right)
F_{370}\! \left(x \right) = -F_{92}\! \left(x \right)+F_{371}\! \left(x \right)
F_{371}\! \left(x \right) = -F_{45}\! \left(x \right)+F_{372}\! \left(x \right)
F_{372}\! \left(x \right) = \frac{F_{373}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{373}\! \left(x \right) = F_{64}\! \left(x \right)
F_{374}\! \left(x \right) = F_{24}\! \left(x \right) F_{48}\! \left(x \right)
F_{375}\! \left(x \right) = -F_{378}\! \left(x \right)+F_{376}\! \left(x \right)
F_{376}\! \left(x \right) = \frac{F_{377}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{377}\! \left(x \right) = F_{228}\! \left(x \right)
F_{378}\! \left(x \right) = F_{379}\! \left(x \right)+F_{382}\! \left(x \right)
F_{379}\! \left(x \right) = F_{380}\! \left(x \right)+F_{381}\! \left(x \right)
F_{380}\! \left(x \right) = F_{23}\! \left(x \right) F_{247}\! \left(x \right)
F_{381}\! \left(x \right) = F_{39}\! \left(x \right) F_{40}\! \left(x \right)
F_{382}\! \left(x \right) = -F_{380}\! \left(x \right)+F_{383}\! \left(x \right)
F_{383}\! \left(x \right) = -F_{386}\! \left(x \right)+F_{384}\! \left(x \right)
F_{384}\! \left(x \right) = \frac{F_{385}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{385}\! \left(x \right) = F_{228}\! \left(x \right)
F_{386}\! \left(x \right) = \frac{F_{387}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{387}\! \left(x \right) = -F_{388}\! \left(x \right)-F_{41}\! \left(x \right)+F_{228}\! \left(x \right)
F_{388}\! \left(x \right) = F_{389}\! \left(x \right) F_{9}\! \left(x \right)
F_{389}\! \left(x \right) = F_{390}\! \left(x \right)+F_{396}\! \left(x \right)
F_{390}\! \left(x \right) = F_{118}\! \left(x \right)+F_{391}\! \left(x \right)
F_{391}\! \left(x \right) = F_{392}\! \left(x \right)
F_{392}\! \left(x \right) = F_{393}\! \left(x \right) F_{9}\! \left(x \right)
F_{393}\! \left(x \right) = F_{394}\! \left(x \right)+F_{395}\! \left(x \right)
F_{394}\! \left(x \right) = F_{18}\! \left(x \right) F_{23}\! \left(x \right) F_{24}\! \left(x \right)
F_{395}\! \left(x \right) = F_{23}\! \left(x \right) F_{24}\! \left(x \right) F_{48}\! \left(x \right)
F_{396}\! \left(x \right) = F_{397}\! \left(x \right)+F_{398}\! \left(x \right)
F_{397}\! \left(x \right) = F_{112}\! \left(x \right) F_{24}\! \left(x \right)
F_{398}\! \left(x \right) = F_{142}\! \left(x \right)+F_{399}\! \left(x \right)
F_{399}\! \left(x \right) = F_{400}\! \left(x \right)+F_{401}\! \left(x \right)+F_{41}\! \left(x \right)
F_{400}\! \left(x \right) = F_{46}\! \left(x \right) F_{48}\! \left(x \right) F_{9}\! \left(x \right)
F_{401}\! \left(x \right) = F_{402}\! \left(x \right) F_{9}\! \left(x \right)
F_{402}\! \left(x \right) = F_{399}\! \left(x \right)+F_{403}\! \left(x \right)
F_{403}\! \left(x \right) = -F_{40}\! \left(x \right)+F_{404}\! \left(x \right)
F_{404}\! \left(x \right) = -F_{112}\! \left(x \right)+F_{405}\! \left(x \right)
F_{405}\! \left(x \right) = -F_{408}\! \left(x \right)+F_{406}\! \left(x \right)
F_{406}\! \left(x \right) = \frac{F_{407}\! \left(x \right)}{F_{9}\! \left(x \right)}
F_{407}\! \left(x \right) = F_{247}\! \left(x \right)
F_{408}\! \left(x \right) = F_{18}\! \left(x \right) F_{23}\! \left(x \right)
F_{409}\! \left(x \right) = F_{102}\! \left(x \right)+F_{91}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_9(x))
Eq(F_4(x), F_17(x) + F_5(x))
Eq(F_5(x), F_1(x) + F_6(x))
Eq(F_6(x), F_7(x)*F_9(x))
Eq(F_7(x), F_1(x) + F_10(x) + F_8(x))
Eq(F_8(x), F_7(x)*F_9(x))
Eq(F_9(x), x)
Eq(F_10(x), F_11(x)*F_9(x))
Eq(F_11(x), F_12(x, 1))
Eq(F_12(x, k_0), (-k_0*F_13(x, k_0) + F_13(x, 1))/(1 - k_0))
Eq(F_13(x, k_0), F_1(x) + F_14(x, k_0) + F_16(x, k_0))
Eq(F_14(x, k_0), F_13(x, k_0)*F_15(x, k_0))
Eq(F_15(x, k_0), k_0*x)
Eq(F_16(x, k_0), F_12(x, k_0)*F_9(x))
Eq(F_17(x), F_18(x) + F_19(x))
Eq(F_18(x), F_6(x))
Eq(F_19(x), F_20(x))
Eq(F_20(x), F_21(x)*F_9(x))
Eq(F_21(x), F_22(x) + F_26(x))
Eq(F_22(x), F_18(x)*F_23(x))
Eq(F_23(x), F_1(x) + F_24(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_23(x)*F_9(x))
Eq(F_26(x), F_27(x) + F_324(x))
Eq(F_27(x), F_28(x) + F_409(x))
Eq(F_28(x), F_18(x) + F_29(x))
Eq(F_29(x), F_30(x))
Eq(F_30(x), F_31(x)*F_9(x))
Eq(F_31(x), F_32(x) + F_50(x))
Eq(F_32(x), F_24(x) + F_33(x))
Eq(F_33(x), F_34(x))
Eq(F_34(x), F_35(x)*F_9(x))
Eq(F_35(x), F_32(x) + F_36(x))
Eq(F_36(x), F_24(x)*F_37(x))
Eq(F_37(x), F_38(x) + F_45(x))
Eq(F_38(x), F_23(x) + F_39(x))
Eq(F_39(x), F_24(x) + F_40(x))
Eq(F_40(x), F_41(x) + F_42(x) + F_44(x))
Eq(F_41(x), 0)
Eq(F_42(x), F_43(x)*F_9(x))
Eq(F_43(x), F_24(x) + F_40(x))
Eq(F_44(x), F_39(x)*F_9(x))
Eq(F_45(x), F_24(x) + F_46(x))
Eq(F_46(x), F_41(x) + F_47(x) + F_49(x))
Eq(F_47(x), F_48(x)*F_9(x))
Eq(F_48(x), F_24(x) + F_46(x))
Eq(F_49(x), F_45(x)*F_9(x))
Eq(F_50(x), F_375(x) + F_51(x))
Eq(F_51(x), F_52(x) + F_63(x))
Eq(F_52(x), F_53(x) + F_54(x))
Eq(F_53(x), F_24(x)*F_5(x))
Eq(F_54(x), F_23(x)*F_55(x))
Eq(F_55(x), F_56(x))
Eq(F_56(x), F_57(x)*F_9(x))
Eq(F_57(x), F_41(x) + F_58(x) + F_8(x))
Eq(F_58(x), F_59(x)*F_9(x))
Eq(F_59(x), F_60(x, 1))
Eq(F_60(x, k_0), (-k_0*F_61(x, k_0) + F_61(x, 1))/(1 - k_0))
Eq(F_61(x, k_0), F_14(x, k_0) + F_41(x) + F_62(x, k_0))
Eq(F_62(x, k_0), F_60(x, k_0)*F_9(x))
Eq(F_63(x), F_64(x) + F_73(x))
Eq(F_64(x), F_65(x))
Eq(F_65(x), F_66(x)*F_9(x))
Eq(F_66(x), F_67(x) + F_69(x))
Eq(F_67(x), 2*F_68(x))
Eq(F_68(x), F_23(x)*F_24(x))
Eq(F_69(x), F_70(x) + F_72(x))
Eq(F_70(x), F_64(x) + F_71(x))
Eq(F_71(x), F_24(x)*F_45(x))
Eq(F_72(x), F_24(x)*F_40(x))
Eq(F_73(x), F_355(x) + F_41(x) + F_74(x))
Eq(F_74(x), F_75(x)*F_9(x))
Eq(F_75(x), F_76(x) + F_94(x))
Eq(F_76(x), F_77(x))
Eq(F_77(x), F_78(x) + F_93(x))
Eq(F_78(x), F_79(x))
Eq(F_79(x), F_80(x)*F_9(x))
Eq(F_80(x), F_81(x) + F_85(x))
Eq(F_81(x), F_24(x) + F_82(x))
Eq(F_82(x), -F_23(x) + F_83(x))
Eq(F_83(x), F_84(x)/F_9(x))
Eq(F_84(x), F_18(x))
Eq(F_85(x), F_86(x) + F_87(x))
Eq(F_86(x), F_24(x)**2)
Eq(F_87(x), F_88(x) - F_92(x))
Eq(F_88(x), -F_82(x) + F_89(x))
Eq(F_89(x), F_90(x)/F_9(x))
Eq(F_90(x), F_91(x))
Eq(F_91(x), -F_18(x) + F_82(x))
Eq(F_92(x), F_23(x)*F_24(x))
Eq(F_93(x), F_24(x)*F_40(x))
Eq(F_94(x), F_73(x) + F_95(x))
Eq(F_95(x), -F_350(x) + F_96(x))
Eq(F_96(x), -F_349(x) + F_97(x))
Eq(F_97(x), -F_346(x) + F_98(x))
Eq(F_98(x), -F_200(x) + F_99(x))
Eq(F_99(x), F_100(x) - F_184(x))
Eq(F_100(x), F_101(x)/F_9(x))
Eq(F_101(x), F_102(x))
Eq(F_102(x), F_103(x))
Eq(F_103(x), F_104(x)*F_9(x))
Eq(F_104(x), F_105(x) + F_164(x))
Eq(F_105(x), F_106(x))
Eq(F_106(x), F_107(x) + F_114(x))
Eq(F_107(x), F_108(x) + F_110(x))
Eq(F_108(x), F_109(x)*F_24(x))
Eq(F_109(x), F_24(x) + F_39(x))
Eq(F_110(x), F_111(x) + F_113(x))
Eq(F_111(x), F_112(x) - F_24(x))
Eq(F_112(x), -F_5(x) + F_7(x))
Eq(F_113(x), F_24(x)*F_46(x))
Eq(F_114(x), F_115(x) + F_120(x))
Eq(F_115(x), F_116(x))
Eq(F_116(x), F_117(x)*F_24(x))
Eq(F_117(x), F_118(x) + F_119(x))
Eq(F_118(x), F_18(x)*F_24(x))
Eq(F_119(x), F_24(x)*F_39(x))
Eq(F_120(x), F_102(x) + F_121(x))
Eq(F_121(x), F_122(x)*F_24(x))
Eq(F_122(x), F_123(x) - F_163(x))
Eq(F_123(x), F_124(x) - F_150(x))
Eq(F_124(x), F_125(x) - F_141(x))
Eq(F_125(x), F_126(x)/F_9(x))
Eq(F_126(x), F_127(x))
Eq(F_127(x), F_128(x) + F_139(x) + F_41(x))
Eq(F_128(x), F_129(x))
Eq(F_129(x), F_130(x)*F_24(x)*F_9(x))
Eq(F_130(x), F_131(x) + F_48(x))
Eq(F_131(x), F_132(x) + F_135(x))
Eq(F_132(x), F_133(x))
Eq(F_133(x), F_134(x)*F_9(x))
Eq(F_134(x), F_132(x) + F_24(x))
Eq(F_135(x), F_136(x) + F_138(x) + 2*F_41(x))
Eq(F_136(x), F_137(x)*F_9(x))
Eq(F_137(x), F_135(x) + F_46(x))
Eq(F_138(x), F_131(x)*F_9(x))
Eq(F_139(x), F_140(x)*F_9(x))
Eq(F_140(x), F_127(x) + F_78(x))
Eq(F_141(x), F_142(x) + F_46(x))
Eq(F_142(x), F_143(x))
Eq(F_143(x), F_144(x)*F_9(x))
Eq(F_144(x), F_145(x) + F_146(x))
Eq(F_145(x), F_24(x)*F_39(x))
Eq(F_146(x), F_147(x)*F_24(x))
Eq(F_147(x), F_148(x) + F_149(x))
Eq(F_148(x), F_24(x)*F_38(x))
Eq(F_149(x), F_23(x)*F_48(x))
Eq(F_150(x), F_151(x) - F_162(x))
Eq(F_151(x), F_152(x) - F_157(x))
Eq(F_152(x), F_153(x)/F_9(x))
Eq(F_153(x), F_154(x))
Eq(F_154(x), F_127(x) - F_155(x) - F_41(x))
Eq(F_155(x), F_156(x))
Eq(F_156(x), F_24(x)*F_45(x)*F_9(x))
Eq(F_157(x), F_158(x) + F_159(x))
Eq(F_158(x), F_23(x)*F_24(x)**2)
Eq(F_159(x), F_127(x) + F_160(x))
Eq(F_160(x), F_161(x))
Eq(F_161(x), F_24(x)**2*F_78(x))
Eq(F_162(x), F_142(x) + F_86(x))
Eq(F_163(x), F_118(x))
Eq(F_164(x), F_165(x))
Eq(F_165(x), F_166(x) + F_170(x))
Eq(F_166(x), F_167(x) + F_168(x))
Eq(F_167(x), F_24(x)*F_46(x))
Eq(F_168(x), F_169(x))
Eq(F_169(x), F_24(x)**2*F_39(x))
Eq(F_170(x), F_171(x) + F_182(x))
Eq(F_171(x), F_172(x)*F_24(x))
Eq(F_172(x), F_173(x) - F_46(x))
Eq(F_173(x), F_174(x) - F_176(x))
Eq(F_174(x), F_175(x)/F_9(x))
Eq(F_175(x), F_91(x))
Eq(F_176(x), F_177(x) + F_179(x))
Eq(F_177(x), F_178(x) + F_24(x))
Eq(F_178(x), F_23(x)*F_24(x))
Eq(F_179(x), F_180(x) + F_181(x))
Eq(F_180(x), F_18(x)*F_24(x))
Eq(F_181(x), F_23(x)*F_91(x))
Eq(F_182(x), F_183(x))
Eq(F_183(x), F_24(x)*F_39(x)*F_40(x))
Eq(F_184(x), F_185(x))
Eq(F_185(x), F_107(x) + F_186(x))
Eq(F_186(x), F_187(x) + F_189(x))
Eq(F_187(x), F_188(x))
Eq(F_188(x), F_24(x)**3)
Eq(F_189(x), F_190(x) + F_198(x))
Eq(F_190(x), F_191(x) - F_195(x))
Eq(F_191(x), F_192(x) - F_32(x))
Eq(F_192(x), F_193(x)/F_9(x))
Eq(F_193(x), -F_194(x) + F_33(x) - F_41(x))
Eq(F_194(x), F_48(x)*F_9(x))
Eq(F_195(x), F_196(x))
Eq(F_196(x), F_197(x)*F_9(x))
Eq(F_197(x), F_195(x) + F_24(x))
Eq(F_198(x), F_199(x))
Eq(F_199(x), F_24(x)**4)
Eq(F_200(x), F_201(x) + F_221(x))
Eq(F_201(x), F_202(x))
Eq(F_202(x), F_203(x)*F_24(x))
Eq(F_203(x), F_204(x) - F_210(x))
Eq(F_204(x), F_205(x) - F_209(x))
Eq(F_205(x), F_206(x) - F_208(x))
Eq(F_206(x), F_207(x)/F_9(x))
Eq(F_207(x), F_91(x))
Eq(F_208(x), F_177(x)*F_23(x))
Eq(F_209(x), F_71(x) + F_91(x))
Eq(F_210(x), F_211(x)*F_24(x))
Eq(F_211(x), F_212(x) + F_219(x) + F_41(x))
Eq(F_212(x), F_213(x))
Eq(F_213(x), F_214(x)*F_23(x)*F_9(x))
Eq(F_214(x), F_212(x) + F_215(x) + F_41(x))
Eq(F_215(x), F_216(x)*F_9(x))
Eq(F_216(x), F_215(x) + F_217(x) + F_23(x))
Eq(F_217(x), F_218(x))
Eq(F_218(x), F_216(x)*F_23(x)*F_9(x))
Eq(F_219(x), F_220(x)*F_9(x))
Eq(F_220(x), F_217(x) + F_219(x) + F_41(x))
Eq(F_221(x), F_222(x) + F_342(x))
Eq(F_222(x), F_223(x) - F_341(x))
Eq(F_223(x), F_224(x) - F_246(x))
Eq(F_224(x), F_225(x) - F_254(x))
Eq(F_225(x), F_226(x) - F_340(x))
Eq(F_226(x), F_227(x)/F_9(x))
Eq(F_227(x), F_228(x))
Eq(F_228(x), F_229(x))
Eq(F_229(x), F_230(x)*F_9(x))
Eq(F_230(x), F_231(x) + F_245(x))
Eq(F_231(x), F_232(x) + F_242(x))
Eq(F_232(x), F_233(x) + F_241(x))
Eq(F_233(x), F_234(x))
Eq(F_234(x), F_235(x)*F_9(x))
Eq(F_235(x), F_236(x) + F_39(x))
Eq(F_236(x), F_237(x) + F_92(x))
Eq(F_237(x), F_238(x) - F_86(x))
Eq(F_238(x), -F_109(x) + F_239(x))
Eq(F_239(x), F_240(x)/F_9(x))
Eq(F_240(x), F_33(x))
Eq(F_241(x), F_24(x)*F_40(x))
Eq(F_242(x), F_243(x) + F_244(x))
Eq(F_243(x), F_233(x)*F_24(x))
Eq(F_244(x), F_40(x)**2)
Eq(F_245(x), F_246(x) + F_254(x))
Eq(F_246(x), F_228(x) + F_247(x))
Eq(F_247(x), F_248(x))
Eq(F_248(x), F_249(x)*F_9(x))
Eq(F_249(x), F_250(x) + F_251(x))
Eq(F_250(x), F_177(x)*F_23(x))
Eq(F_251(x), F_252(x) + F_71(x))
Eq(F_252(x), F_210(x) + F_253(x))
Eq(F_253(x), F_203(x) + F_247(x))
Eq(F_254(x), F_255(x) + F_265(x))
Eq(F_255(x), -F_233(x) + F_256(x))
Eq(F_256(x), F_257(x) - F_261(x))
Eq(F_257(x), F_258(x) - F_260(x))
Eq(F_258(x), F_259(x)/F_9(x))
Eq(F_259(x), F_233(x))
Eq(F_260(x), F_24(x)*F_38(x))
Eq(F_261(x), F_24(x) + F_262(x))
Eq(F_262(x), F_263(x))
Eq(F_263(x), F_264(x)*F_9(x))
Eq(F_264(x), F_24(x) + F_262(x))
Eq(F_265(x), F_266(x) - F_316(x))
Eq(F_266(x), F_267(x) - F_313(x))
Eq(F_267(x), F_268(x) - F_299(x))
Eq(F_268(x), F_269(x)/F_9(x))
Eq(F_269(x), F_270(x))
Eq(F_270(x), F_271(x) + F_295(x) + F_41(x))
Eq(F_271(x), F_272(x))
Eq(F_272(x), F_273(x)*F_9(x))
Eq(F_273(x), F_274(x) + F_277(x))
Eq(F_274(x), F_275(x) + F_276(x))
Eq(F_275(x), F_24(x)*F_48(x))
Eq(F_276(x), F_24(x)*F_82(x))
Eq(F_277(x), F_278(x) + F_289(x))
Eq(F_278(x), F_24(x)*F_279(x))
Eq(F_279(x), F_280(x) + F_46(x))
Eq(F_280(x), F_138(x) + F_281(x) + F_283(x) + F_41(x))
Eq(F_281(x), F_282(x)*F_9(x))
Eq(F_282(x), F_280(x) + F_46(x))
Eq(F_283(x), F_284(x)*F_9(x))
Eq(F_284(x), F_195(x) + F_285(x))
Eq(F_285(x), F_283(x) + F_286(x) + 2*F_41(x))
Eq(F_286(x), F_287(x)*F_9(x))
Eq(F_287(x), F_132(x) + F_288(x))
Eq(F_288(x), F_286(x))
Eq(F_289(x), F_270(x) + F_290(x))
Eq(F_290(x), -F_172(x) + F_291(x))
Eq(F_291(x), F_292(x) - F_298(x))
Eq(F_292(x), F_293(x) - F_297(x))
Eq(F_293(x), F_294(x)/F_9(x))
Eq(F_294(x), F_172(x) - F_295(x) - F_41(x))
Eq(F_295(x), F_296(x)*F_9(x))
Eq(F_296(x), F_172(x) + F_78(x))
Eq(F_297(x), F_24(x)*F_81(x))
Eq(F_298(x), F_24(x)*F_46(x))
Eq(F_299(x), F_300(x) - F_302(x))
Eq(F_300(x), F_301(x)/F_9(x))
Eq(F_301(x), F_172(x))
Eq(F_302(x), F_303(x) + F_312(x))
Eq(F_303(x), F_304(x) + F_311(x) + F_41(x))
Eq(F_304(x), F_305(x))
Eq(F_305(x), F_306(x)*F_9(x))
Eq(F_306(x), F_303(x) + F_307(x))
Eq(F_307(x), F_23(x)*F_308(x)*F_9(x))
Eq(F_308(x), F_215(x) + F_309(x) + F_41(x))
Eq(F_309(x), F_310(x))
Eq(F_310(x), F_23(x)*F_308(x)*F_9(x))
Eq(F_311(x), F_214(x)*F_9(x))
Eq(F_312(x), F_214(x)*F_24(x))
Eq(F_313(x), F_314(x))
Eq(F_314(x), F_24(x)*F_315(x))
Eq(F_315(x), F_48(x) + F_68(x))
Eq(F_316(x), F_317(x) + F_338(x))
Eq(F_317(x), F_318(x) - F_337(x))
Eq(F_318(x), F_319(x) - F_333(x))
Eq(F_319(x), F_320(x) - F_332(x))
Eq(F_320(x), F_321(x)/F_9(x))
Eq(F_321(x), F_322(x))
Eq(F_322(x), F_270(x) - F_323(x) - F_41(x))
Eq(F_323(x), F_324(x)*F_9(x))
Eq(F_324(x), F_270(x) + F_325(x))
Eq(F_325(x), F_326(x))
Eq(F_326(x), F_327(x)*F_9(x))
Eq(F_327(x), F_328(x) + F_329(x))
Eq(F_328(x), F_178(x) + F_82(x))
Eq(F_329(x), F_330(x) + F_71(x))
Eq(F_330(x), F_325(x) + F_331(x))
Eq(F_331(x), -F_78(x) + F_87(x))
Eq(F_332(x), F_131(x)*F_24(x))
Eq(F_333(x), -F_303(x) + F_334(x))
Eq(F_334(x), F_335(x)/F_9(x))
Eq(F_335(x), F_172(x) - F_336(x) - F_41(x))
Eq(F_336(x), F_296(x)*F_9(x))
Eq(F_337(x), F_24(x)**2)
Eq(F_338(x), F_24(x)*F_339(x))
Eq(F_339(x), F_233(x) + F_317(x))
Eq(F_340(x), F_23(x)*F_233(x))
Eq(F_341(x), F_72(x))
Eq(F_342(x), F_343(x))
Eq(F_343(x), F_24(x)**2*F_344(x))
Eq(F_344(x), F_304(x) + F_345(x) + F_41(x))
Eq(F_345(x), F_211(x)*F_9(x))
Eq(F_346(x), F_347(x) + F_348(x))
Eq(F_347(x), F_111(x)*F_24(x))
Eq(F_348(x), F_46(x)**2)
Eq(F_349(x), F_24(x)*F_91(x))
Eq(F_350(x), F_351(x) - F_64(x))
Eq(F_351(x), F_352(x) - F_354(x))
Eq(F_352(x), F_353(x)/F_9(x))
Eq(F_353(x), -F_41(x) - F_49(x) + F_64(x))
Eq(F_354(x), F_195(x) + F_24(x))
Eq(F_355(x), F_356(x)*F_9(x))
Eq(F_356(x), F_357(x) + F_359(x))
Eq(F_357(x), F_24(x)*F_358(x))
Eq(F_358(x), F_24(x) + F_45(x))
Eq(F_359(x), F_167(x) + F_360(x))
Eq(F_360(x), F_361(x) + F_362(x))
Eq(F_361(x), F_237(x) - F_46(x))
Eq(F_362(x), -F_167(x) + F_363(x))
Eq(F_363(x), F_364(x) - F_374(x))
Eq(F_364(x), F_365(x) - F_368(x))
Eq(F_365(x), F_366(x)/F_9(x))
Eq(F_366(x), F_228(x) - F_367(x) - F_41(x))
Eq(F_367(x), F_224(x)*F_9(x))
Eq(F_368(x), F_369(x) + F_86(x))
Eq(F_369(x), F_370(x) - F_40(x))
Eq(F_370(x), F_371(x) - F_92(x))
Eq(F_371(x), F_372(x) - F_45(x))
Eq(F_372(x), F_373(x)/F_9(x))
Eq(F_373(x), F_64(x))
Eq(F_374(x), F_24(x)*F_48(x))
Eq(F_375(x), F_376(x) - F_378(x))
Eq(F_376(x), F_377(x)/F_9(x))
Eq(F_377(x), F_228(x))
Eq(F_378(x), F_379(x) + F_382(x))
Eq(F_379(x), F_380(x) + F_381(x))
Eq(F_380(x), F_23(x)*F_247(x))
Eq(F_381(x), F_39(x)*F_40(x))
Eq(F_382(x), -F_380(x) + F_383(x))
Eq(F_383(x), F_384(x) - F_386(x))
Eq(F_384(x), F_385(x)/F_9(x))
Eq(F_385(x), F_228(x))
Eq(F_386(x), F_387(x)/F_9(x))
Eq(F_387(x), F_228(x) - F_388(x) - F_41(x))
Eq(F_388(x), F_389(x)*F_9(x))
Eq(F_389(x), F_390(x) + F_396(x))
Eq(F_390(x), F_118(x) + F_391(x))
Eq(F_391(x), F_392(x))
Eq(F_392(x), F_393(x)*F_9(x))
Eq(F_393(x), F_394(x) + F_395(x))
Eq(F_394(x), F_18(x)*F_23(x)*F_24(x))
Eq(F_395(x), F_23(x)*F_24(x)*F_48(x))
Eq(F_396(x), F_397(x) + F_398(x))
Eq(F_397(x), F_112(x)*F_24(x))
Eq(F_398(x), F_142(x) + F_399(x))
Eq(F_399(x), F_400(x) + F_401(x) + F_41(x))
Eq(F_400(x), F_46(x)*F_48(x)*F_9(x))
Eq(F_401(x), F_402(x)*F_9(x))
Eq(F_402(x), F_399(x) + F_403(x))
Eq(F_403(x), -F_40(x) + F_404(x))
Eq(F_404(x), -F_112(x) + F_405(x))
Eq(F_405(x), F_406(x) - F_408(x))
Eq(F_406(x), F_407(x)/F_9(x))
Eq(F_407(x), F_247(x))
Eq(F_408(x), F_18(x)*F_23(x))
Eq(F_409(x), F_102(x) + F_91(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": false, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}], [{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}, {"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": true, "maxreqlen": 1, "one_cell_only": true, "strategy_class": "CellInsertionFactory"}], "iterative": false, "name": "insertion_point_row_placements_expand_verified", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2]], [[2, 1]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 2], [3, 0]], [[1, 1]]], "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": [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 2], [3, 0]]], "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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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": [], "pos": []}], "requirements": []}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "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": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[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": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 0]], [[1, 1]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1]], [[1, 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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[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": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 3], [3, 2], [4, 0]], [[1, 1]]], "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2]], [[2, 1]]], "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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, "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": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 2, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [3, 1]], [[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": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2], [3, 2]], [[2, 1]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1], [3, 1]], [[2, 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": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 3], [3, 3]], [[2, 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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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": [], "pos": []}], "requirements": []}, {"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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 3]]}, {"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], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 1], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 4], [1, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [0, 4], [1, 1], [1, 4]], [[2, 3]]], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 2], [3, 2]], [[1, 1]]], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"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": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4], [2, 0], [2, 2], [2, 3]], [[1, 1]]], "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [2, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [], "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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [3, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 0], [2, 3], [3, 3]], [[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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [2, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [1, 2], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 1], [0, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [4, 2], [4, 2]]}, {"patt": [0, 3, 1, 2], "pos": [[1, 0], [1, 2], [1, 0], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 2], [3, 0], [4, 0], [4, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 1], [0, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 1], [0, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 1], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 1], [0, 0], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "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": [], "pos": []}], "requirements": []}, {"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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 2]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[4, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 2], [3, 0], [3, 2], [4, 0]], [[2, 1]]], "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "ReverseRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 2], [2, 3], [3, 2], [4, 0]], [[1, 1]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 1], [1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 2], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 3], [2, 2], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, {"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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 0], [1, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 3], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 0], [3, 0], [3, 3]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 1], [3, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [2, 0], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0], [3, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 4]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [2, 1], [2, 4]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 1]], [[1, 2]]], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [3, 1], [4, 1]], [[1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0], [3, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2]], [[1, 0]], [[2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [4, 2], [4, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [4, 2], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [4, 2], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 2], [3, 0], [4, 0], [4, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 1], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 0]]}, {"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, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [3, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 2], [3, 1], [4, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 2], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 2], [3, 2], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, {"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 2]]}], [{"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, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 2], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 2], [3, 2], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1], [3, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 2]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [1, 2], [3, 2]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 2], [2, 2]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [3, 0]], [[1, 2]], [[2, 1], [4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}, {"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, 0]]}, {"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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [2, 0], [3, 3], [4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [3, 1]], [[1, 0]], [[2, 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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 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": [], "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, 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, 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], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 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": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 0], [2, 2], [3, 4], [4, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "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, 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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 3], [3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "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], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1], [3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1]], [[2, 0]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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, 3]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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]], [[1, 2]], [[2, 1], [2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 0], [2, 3]], [[1, 1]]], "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": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"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, 3]], [[1, 2]], [[2, 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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[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": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [2, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}], "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 1], [2, 1], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [2, 0], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 1]], [[2, 0], [2, 2], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 2]], [[2, 0], [2, 1], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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]]}]]}, {"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, 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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 2], [0, 3], [2, 2]], [[1, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[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]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "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, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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", "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": "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": [], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": "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], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": {"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, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "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": [], "pos": []}], "requirements": []}, {"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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": [], "pos": []}], "requirements": []}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"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, 2]]}, {"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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 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, 2]]}, {"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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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", "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], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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, 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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 3], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"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, 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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [3, 1], [3, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 4]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 4], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 4], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 3], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 1], [2, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": "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": [], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 1], [1, 4]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 4], [1, 4]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 4], [0, 0], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}], [{"patt": [0], "pos": [[2, 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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 3], [1, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 0], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [1, 1], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": "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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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": "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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 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, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 4], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 4], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[2, 3]]}], [{"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, 0]]}, {"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": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"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, 0]]}, {"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": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[4, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 1], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [3, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [2, 3], [3, 3]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 3]]}]]}], "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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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", "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, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [1, 0], [1, 0], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 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": "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 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, 1]]}, {"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], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 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": [0, 1], "pos": [[2, 0], [4, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [0, 1], "pos": [[2, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 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": "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"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": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 3]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"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": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 3]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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, 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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"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": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [], "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], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [4, 2], [4, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [4, 2], [4, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [4, 2], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [4, 2], [4, 2], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 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], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 0]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 0], [4, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[4, 2], [4, 2], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [4, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [4, 2], [4, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [4, 2], [4, 2]]}, {"patt": [0, 3, 1, 2], "pos": [[1, 0], [1, 2], [1, 0], [4, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [4, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [4, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [3, 2], [3, 2]]}, {"patt": [0, 3, 1, 2], "pos": [[1, 0], [1, 2], [1, 0], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "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], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [2, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [3, 2], [3, 2]]}, {"patt": [0, 3, 1, 2], "pos": [[1, 0], [1, 2], [1, 0], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 2], [1, 0], [1, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 0], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [3, 2], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [3, 1], [3, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 1], [3, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 0], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 0], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.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, 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], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.obstruction_inferral", "gps": [{"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "strategy_class": "ObstructionInferralStrategy"}}, "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, 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, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}], [{"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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "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": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"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": {"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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 2], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[3, 2]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[4, 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], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 2], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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", "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [3, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[4, 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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 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, 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], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 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": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 2]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 3], [2, 0], [2, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 0], [3, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 2], [2, 0], [2, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"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": {"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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[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": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[2, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"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], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "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": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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, 0]]}, {"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, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"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", "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"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}