0213_0231_0312_2130
Counting sequence:
1, 1, 2, 6, 20, 65, 202, 605, 1763, 5034, 14154, 39324, 108227, 295608, 802429, 2167083, 5827620, 15615202, 41714066, 111145187, 295483334, 784050031, 2076996921, 5494202626, 14515481532, 38307660070, 101001273723, 266076520610, 700437234651, 1842695078999, 4844990155738, 12732591003624, 33446505290234, 87824803094953, 230534409423460, 604955907441283, 1587070627068163, 4162619457163652, 10915581048554440, 28618513948261492, 75019908450652661, 196627067151572366, 515293355198608637, 1350257421186557021, 3537813907946760330, 9268612518120754930, 24280642716387505012, 63602651409609397745, 166595508923666630998, 436342415107905048849, 1142800296595707928439, 2992915273184393810714, 7837937337828194454262, 20525527148097661668148, 53749408498620940071539, 140747722523509383828948, 368551933222625060336105, 965043315637187042898167, 2526892405041708332955676, 6616364770711330107243902, 17323900976549735159125394, 45359288016216222843227571, 118763145376242461600419506, 310951494379842504871776291, 814140961814270372769516317, 2131586752985405415102965010, 5580887481074616980942487208, 14611699142242570569356044350, 38255659295722564436880264411, 100158648075057952895688617614, 262228117671714970335519505223, 686543913856681795767818529539, 1797445954493720407922518012994, 4705892356319723401634917952068, 12320459882276996573635567943370, 32256019111150808692915999222873, 84448833784166207046373588002048, 221093356366852607099353145024167, 578837916847563985502252884584375, 1515435926851337651394071019065732, 3967505972796103926791971008836196, 10387165934986114770595110532953356, 27194186977005850695595810004445397, 71195848652753641922885141508849786, 186394413605183608913546450304172265, 487989843865981987436431522107359545, 1277580817511181898177499204593314322, 3344765858440381270044451567773490510, 8756747559794760313856187062582755108, 22925548426871079296110084447915162289, 60020064184403237207379713113373605474, 157135031107223350377474377296813098229, 411385928758678628438154067154406661547, 1077024846534863302006334771321425788938, 2819693472682124667814115113924852912274, 7382066873909461152510221925865382736188, 19326533423933734129542001942833099149715, 50597594479594479743676979896409808903632, 132466392012580920395595834524812652214661, 346801911662823925650134273304887137172867, 907940110376158097095225636707368972485204
Generating function in Maple syntax:
-(2*x^5-7*x^4+12*x^3-13*x^2+6*x-1)/(x-1)/(x^2-3*x+1)/(x^3-2*x^2+3*x-1)
Generating function in latex syntax:
-\frac{2 x^{5}-7 x^{4}+12 x^{3}-13 x^{2}+6 x -1}{\left(x -1\right) \left(x^{2}-3 x +1\right) \left(x^{3}-2 x^{2}+3 x -1\right)}
Generating function in sympy syntax:
(-2*x**5 + 7*x**4 - 12*x**3 + 13*x**2 - 6*x + 1)/((x - 1)*(x**2 - 3*x + 1)*(x**3 - 2*x**2 + 3*x - 1))
Implicit equation for the generating function in Maple syntax:
(x-1)*(x^2-3*x+1)*(x^3-2*x^2+3*x-1)*F(x)+2*x^5-7*x^4+12*x^3-13*x^2+6*x-1 = 0
Implicit equation for the generating function in latex syntax:
\left(x -1\right) \left(x^{2}-3 x +1\right) \left(x^{3}-2 x^{2}+3 x -1\right) F \! \left(x \right)+2 x^{5}-7 x^{4}+12 x^{3}-13 x^{2}+6 x -1 = 0
Explicit closed form in Maple syntax:
1/13800*(115*((-57/23*I+19/23*3^(1/2))*23^(1/2)+I*3^(1/2)-1)*2^(2/3)*(11+3*23^(1/2)*3^(1/2))^(1/3)-9200+368*2^(1/3)*((-21/184*I-7/184*3^(1/2))*23^(1/2)+I*3^(1/2)+1)*(11+3*23^(1/2)*3^(1/2))^(2/3))*(11/600*2^(1/3)*((I-3/11*23^(1/2))*3^(1/2)-9/11*I*23^(1/2)+1)*(11+3*23^(1/2)*3^(1/2))^(2/3)-1/12*I*3^(1/2)*(44+12*23^(1/2)*3^(1/2))^(1/3)+1/12*(44+12*23^(1/2)*3^(1/2))^(1/3)+2/3)^(-n)+1/13800*(-115*2^(2/3)*((-57/23*I-19/23*3^(1/2))*23^(1/2)+I*3^(1/2)+1)*(11+3*23^(1/2)*3^(1/2))^(1/3)-9200-368*((-21/184*I+7/184*3^(1/2))*23^(1/2)+I*3^(1/2)-1)*2^(1/3)*(11+3*23^(1/2)*3^(1/2))^(2/3))*(-11/600*((I+3/11*23^(1/2))*3^(1/2)-9/11*I*23^(1/2)-1)*2^(1/3)*(11+3*23^(1/2)*3^(1/2))^(2/3)+1/12*I*3^(1/2)*(44+12*23^(1/2)*3^(1/2))^(1/3)+1/12*(44+12*23^(1/2)*3^(1/2))^(1/3)+2/3)^(-n)+1/13800*((-190*3^(1/2)*2^(2/3)*23^(1/2)+230*2^(2/3))*(11+3*23^(1/2)*3^(1/2))^(1/3)-9200+(28*23^(1/2)*3^(1/2)*2^(1/3)-736*2^(1/3))*(11+3*23^(1/2)*3^(1/2))^(2/3))*(1/300*2^(1/3)*(3*23^(1/2)*3^(1/2)-11)*(11+3*23^(1/2)*3^(1/2))^(2/3)-1/6*(44+12*23^(1/2)*3^(1/2))^(1/3)+2/3)^(-n)+1/13800*(2760*5^(1/2)+13800)*(3/2-1/2*5^(1/2))^(-n)+1+1/13800*(-2760*5^(1/2)+13800)*(3/2+1/2*5^(1/2))^(-n)
Explicit closed form in latex syntax:
\frac{\left(115 \left(\left(-\frac{57 \,\mathrm{I}}{23}+\frac{19 \sqrt{3}}{23}\right) \sqrt{23}+\mathrm{I} \sqrt{3}-1\right) 2^{\frac{2}{3}} \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}-9200+368 \,2^{\frac{1}{3}} \left(\left(-\frac{21 \,\mathrm{I}}{184}-\frac{7 \sqrt{3}}{184}\right) \sqrt{23}+\mathrm{I} \sqrt{3}+1\right) \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{2}{3}}\right) \left(\frac{11 \,2^{\frac{1}{3}} \left(\left(\mathrm{I}-\frac{3 \sqrt{23}}{11}\right) \sqrt{3}-\frac{9 \,\mathrm{I} \sqrt{23}}{11}+1\right) \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{2}{3}}}{600}-\frac{\mathrm{I} \sqrt{3}\, \left(44+12 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}}{12}+\frac{\left(44+12 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}}{12}+\frac{2}{3}\right)^{-n}}{13800}+\frac{\left(-115 \,2^{\frac{2}{3}} \left(\left(-\frac{57 \,\mathrm{I}}{23}-\frac{19 \sqrt{3}}{23}\right) \sqrt{23}+\mathrm{I} \sqrt{3}+1\right) \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}-9200-368 \left(\left(-\frac{21 \,\mathrm{I}}{184}+\frac{7 \sqrt{3}}{184}\right) \sqrt{23}+\mathrm{I} \sqrt{3}-1\right) 2^{\frac{1}{3}} \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{2}{3}}\right) \left(-\frac{11 \left(\left(\mathrm{I}+\frac{3 \sqrt{23}}{11}\right) \sqrt{3}-\frac{9 \,\mathrm{I} \sqrt{23}}{11}-1\right) 2^{\frac{1}{3}} \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{2}{3}}}{600}+\frac{\mathrm{I} \sqrt{3}\, \left(44+12 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}}{12}+\frac{\left(44+12 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}}{12}+\frac{2}{3}\right)^{-n}}{13800}+\frac{\left(\left(-190 \sqrt{3}\, 2^{\frac{2}{3}} \sqrt{23}+230 \,2^{\frac{2}{3}}\right) \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}-9200+\left(28 \sqrt{23}\, \sqrt{3}\, 2^{\frac{1}{3}}-736 \,2^{\frac{1}{3}}\right) \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{2}{3}}\right) \left(\frac{2^{\frac{1}{3}} \left(3 \sqrt{23}\, \sqrt{3}-11\right) \left(11+3 \sqrt{23}\, \sqrt{3}\right)^{\frac{2}{3}}}{300}-\frac{\left(44+12 \sqrt{23}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}+\frac{2}{3}\right)^{-n}}{13800}+\frac{\left(2760 \sqrt{5}+13800\right) \left(\frac{3}{2}-\frac{\sqrt{5}}{2}\right)^{-n}}{13800}+1+\frac{\left(-2760 \sqrt{5}+13800\right) \left(\frac{3}{2}+\frac{\sqrt{5}}{2}\right)^{-n}}{13800}
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 20
a(5) = 65
a(n+5) = a(n)-5*a(n+1)+10*a(n+2)-12*a(n+3)+6*a(n+4)+1, n >= 6
Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(4\right) = 20
a \! \left(5\right) = 65
a \! \left(n +5\right) = a \! \left(n \right)-5 a \! \left(n +1\right)+10 a \! \left(n +2\right)-12 a \! \left(n +3\right)+6 a \! \left(n +4\right)+1, \quad n \geq 6
Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/15688/
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[13,x]*F[4,x]
F[4,x] = F[14,x]+F[5,x]
F[5,x] = F[1,x]+F[6,x]
F[6,x] = F[7,x]
F[7,x] = F[13,x]*F[8,x]
F[8,x] = F[5,x]+F[9,x]
F[9,x] = F[10,x]
F[10,x] = F[11,x]
F[11,x] = F[12,x]*F[13,x]
F[12,x] = F[1,x]+F[10,x]
F[13,x] = x
F[14,x] = F[15,x]+F[26,x]
F[15,x] = F[16,x]
F[16,x] = F[13,x]*F[17,x]
F[17,x] = F[18,x]+F[5,x]
F[18,x] = F[15,x]+F[19,x]
F[19,x] = F[20,x]
F[20,x] = F[13,x]*F[21,x]
F[21,x] = F[18,x]+F[22,x]
F[22,x] = F[23,x]
F[23,x] = F[24,x]
F[24,x] = F[13,x]*F[25,x]
F[25,x] = F[15,x]+F[23,x]
F[26,x] = F[27,x]+F[28,x]+F[51,x]
F[27,x] = 0
F[28,x] = F[13,x]*F[29,x]
F[29,x] = F[30,x]+F[40,x]
F[30,x] = F[31,x]+F[6,x]
F[31,x] = F[27,x]+F[32,x]+F[34,x]
F[32,x] = F[13,x]*F[33,x]
F[33,x] = F[30,x]
F[34,x] = F[13,x]*F[35,x]
F[35,x] = F[36,x]+F[9,x]
F[36,x] = F[37,x]
F[37,x] = F[38,x]
F[38,x] = F[13,x]*F[39,x]
F[39,x] = F[10,x]+F[37,x]
F[40,x] = F[26,x]+F[41,x]
F[41,x] = 2*F[27,x]+F[42,x]+F[44,x]
F[42,x] = F[13,x]*F[43,x]
F[43,x] = F[40,x]
F[44,x] = F[13,x]*F[45,x]
F[45,x] = F[46,x]+F[47,x]
F[46,x] = F[23,x]
F[47,x] = F[48,x]
F[48,x] = F[49,x]
F[49,x] = F[13,x]*F[50,x]
F[50,x] = F[23,x]+F[48,x]
F[51,x] = F[13,x]*F[52,x]
F[52,x] = F[14,x]+F[53,x]
F[53,x] = F[54,x]
F[54,x] = F[27,x]+F[55,x]+F[68,x]
F[55,x] = F[13,x]*F[56,x]
F[56,x] = F[57,x]+F[61,x]
F[57,x] = F[10,x]+F[58,x]
F[58,x] = F[27,x]+F[38,x]+F[59,x]
F[59,x] = F[13,x]*F[60,x]
F[60,x] = F[57,x]
F[61,x] = F[23,x]+F[62,x]
F[62,x] = 2*F[27,x]+F[63,x]+F[65,x]
F[63,x] = F[13,x]*F[64,x]
F[64,x] = F[61,x]
F[65,x] = F[13,x]*F[66,x]
F[66,x] = F[23,x]+F[67,x]
F[67,x] = F[65,x]
F[68,x] = F[13,x]*F[69,x]
F[69,x] = F[15,x]+F[54,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_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{14}\! \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_{7}\! \left(x \right) = F_{13}\! \left(x \right) F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{5}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right) F_{13}\! \left(x \right)
F_{12}\! \left(x \right) = F_{1}\! \left(x \right)+F_{10}\! \left(x \right)
F_{13}\! \left(x \right) = x
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)+F_{26}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{13}\! \left(x \right) F_{17}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{5}\! \left(x \right)
F_{18}\! \left(x \right) = F_{15}\! \left(x \right)+F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{13}\! \left(x \right) F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{18}\! \left(x \right)+F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{13}\! \left(x \right) F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{15}\! \left(x \right)+F_{23}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)+F_{28}\! \left(x \right)+F_{51}\! \left(x \right)
F_{27}\! \left(x \right) = 0
F_{28}\! \left(x \right) = F_{13}\! \left(x \right) F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)+F_{40}\! \left(x \right)
F_{30}\! \left(x \right) = F_{31}\! \left(x \right)+F_{6}\! \left(x \right)
F_{31}\! \left(x \right) = F_{27}\! \left(x \right)+F_{32}\! \left(x \right)+F_{34}\! \left(x \right)
F_{32}\! \left(x \right) = F_{13}\! \left(x \right) F_{33}\! \left(x \right)
F_{33}\! \left(x \right) = F_{30}\! \left(x \right)
F_{34}\! \left(x \right) = F_{13}\! \left(x \right) F_{35}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right)+F_{9}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right)
F_{38}\! \left(x \right) = F_{13}\! \left(x \right) F_{39}\! \left(x \right)
F_{39}\! \left(x \right) = F_{10}\! \left(x \right)+F_{37}\! \left(x \right)
F_{40}\! \left(x \right) = F_{26}\! \left(x \right)+F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = 2 F_{27}\! \left(x \right)+F_{42}\! \left(x \right)+F_{44}\! \left(x \right)
F_{42}\! \left(x \right) = F_{13}\! \left(x \right) F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{40}\! \left(x \right)
F_{44}\! \left(x \right) = F_{13}\! \left(x \right) F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{46}\! \left(x \right)+F_{47}\! \left(x \right)
F_{46}\! \left(x \right) = F_{23}\! \left(x \right)
F_{47}\! \left(x \right) = F_{48}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{13}\! \left(x \right) F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{23}\! \left(x \right)+F_{48}\! \left(x \right)
F_{51}\! \left(x \right) = F_{13}\! \left(x \right) F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{14}\! \left(x \right)+F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = F_{54}\! \left(x \right)
F_{54}\! \left(x \right) = F_{27}\! \left(x \right)+F_{55}\! \left(x \right)+F_{68}\! \left(x \right)
F_{55}\! \left(x \right) = F_{13}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = F_{57}\! \left(x \right)+F_{61}\! \left(x \right)
F_{57}\! \left(x \right) = F_{10}\! \left(x \right)+F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = F_{27}\! \left(x \right)+F_{38}\! \left(x \right)+F_{59}\! \left(x \right)
F_{59}\! \left(x \right) = F_{13}\! \left(x \right) F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{57}\! \left(x \right)
F_{61}\! \left(x \right) = F_{23}\! \left(x \right)+F_{62}\! \left(x \right)
F_{62}\! \left(x \right) = 2 F_{27}\! \left(x \right)+F_{63}\! \left(x \right)+F_{65}\! \left(x \right)
F_{63}\! \left(x \right) = F_{13}\! \left(x \right) F_{64}\! \left(x \right)
F_{64}\! \left(x \right) = F_{61}\! \left(x \right)
F_{65}\! \left(x \right) = F_{13}\! \left(x \right) F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{23}\! \left(x \right)+F_{67}\! \left(x \right)
F_{67}\! \left(x \right) = F_{65}\! \left(x \right)
F_{68}\! \left(x \right) = F_{13}\! \left(x \right) F_{69}\! \left(x \right)
F_{69}\! \left(x \right) = F_{15}\! \left(x \right)+F_{54}\! \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_13(x)*F_4(x))
Eq(F_4(x), F_14(x) + F_5(x))
Eq(F_5(x), F_1(x) + F_6(x))
Eq(F_6(x), F_7(x))
Eq(F_7(x), F_13(x)*F_8(x))
Eq(F_8(x), F_5(x) + F_9(x))
Eq(F_9(x), F_10(x))
Eq(F_10(x), F_11(x))
Eq(F_11(x), F_12(x)*F_13(x))
Eq(F_12(x), F_1(x) + F_10(x))
Eq(F_13(x), x)
Eq(F_14(x), F_15(x) + F_26(x))
Eq(F_15(x), F_16(x))
Eq(F_16(x), F_13(x)*F_17(x))
Eq(F_17(x), F_18(x) + F_5(x))
Eq(F_18(x), F_15(x) + F_19(x))
Eq(F_19(x), F_20(x))
Eq(F_20(x), F_13(x)*F_21(x))
Eq(F_21(x), F_18(x) + F_22(x))
Eq(F_22(x), F_23(x))
Eq(F_23(x), F_24(x))
Eq(F_24(x), F_13(x)*F_25(x))
Eq(F_25(x), F_15(x) + F_23(x))
Eq(F_26(x), F_27(x) + F_28(x) + F_51(x))
Eq(F_27(x), 0)
Eq(F_28(x), F_13(x)*F_29(x))
Eq(F_29(x), F_30(x) + F_40(x))
Eq(F_30(x), F_31(x) + F_6(x))
Eq(F_31(x), F_27(x) + F_32(x) + F_34(x))
Eq(F_32(x), F_13(x)*F_33(x))
Eq(F_33(x), F_30(x))
Eq(F_34(x), F_13(x)*F_35(x))
Eq(F_35(x), F_36(x) + F_9(x))
Eq(F_36(x), F_37(x))
Eq(F_37(x), F_38(x))
Eq(F_38(x), F_13(x)*F_39(x))
Eq(F_39(x), F_10(x) + F_37(x))
Eq(F_40(x), F_26(x) + F_41(x))
Eq(F_41(x), 2*F_27(x) + F_42(x) + F_44(x))
Eq(F_42(x), F_13(x)*F_43(x))
Eq(F_43(x), F_40(x))
Eq(F_44(x), F_13(x)*F_45(x))
Eq(F_45(x), F_46(x) + F_47(x))
Eq(F_46(x), F_23(x))
Eq(F_47(x), F_48(x))
Eq(F_48(x), F_49(x))
Eq(F_49(x), F_13(x)*F_50(x))
Eq(F_50(x), F_23(x) + F_48(x))
Eq(F_51(x), F_13(x)*F_52(x))
Eq(F_52(x), F_14(x) + F_53(x))
Eq(F_53(x), F_54(x))
Eq(F_54(x), F_27(x) + F_55(x) + F_68(x))
Eq(F_55(x), F_13(x)*F_56(x))
Eq(F_56(x), F_57(x) + F_61(x))
Eq(F_57(x), F_10(x) + F_58(x))
Eq(F_58(x), F_27(x) + F_38(x) + F_59(x))
Eq(F_59(x), F_13(x)*F_60(x))
Eq(F_60(x), F_57(x))
Eq(F_61(x), F_23(x) + F_62(x))
Eq(F_62(x), 2*F_27(x) + F_63(x) + F_65(x))
Eq(F_63(x), F_13(x)*F_64(x))
Eq(F_64(x), F_61(x))
Eq(F_65(x), F_13(x)*F_66(x))
Eq(F_66(x), F_23(x) + F_67(x))
Eq(F_67(x), F_65(x))
Eq(F_68(x), F_13(x)*F_69(x))
Eq(F_69(x), F_15(x) + F_54(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "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, 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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "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"}}, {"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": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "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], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [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], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "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], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [3, 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], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "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": 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], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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], [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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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, 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": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [3, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 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, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [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, 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], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "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": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 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], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "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, 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": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [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], [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": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 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": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [4, 1], [4, 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], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1], [4, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [4, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [2, 1], [4, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 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": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [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, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": 3, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [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": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "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": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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], [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]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [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, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [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]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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], [1, 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": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": [], "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": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 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": [[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": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 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": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 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}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 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": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [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, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [4, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1], [4, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 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": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "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": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "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], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [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": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "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], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "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]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "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, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 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": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [3, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "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], [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]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "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]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 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": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 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": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [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, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [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, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 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": [[3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 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", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}