0123_0132_1032_1302_2103
Counting sequence:
1, 1, 2, 6, 19, 53, 145, 403, 1126, 3142, 8757, 24407, 68039, 189677, 528762, 1474014, 4109075, 11454797, 31932337, 89017187, 248151558, 691767518, 1928427573, 5375842015, 14986135687, 41776574205, 116459785882, 324652798534, 905028622451, 2522931609189, 7033129943953, 19606126709363, 54655638045478, 152362514760694, 424738174035829, 1184034778939303, 3300711928990983, 9201333805365965, 25650388649230394, 71505115646698286, 199333492898210451, 555678304015659837, 1549054165781349809, 4318269745613336003, 12037960975027369414, 33558001925074174862, 93549023421777760245, 260784888287087141807, 726985226262409173831, 2026603315380738273373, 5649524707713541634650, 15749075895037456836246, 43903408583911333658995, 122388722876954240591317, 341180786881796829964817, 951103390908910021616979, 2651373391995334269030886, 7391184734461857608700326, 20604269449136168500742581, 57438142163215186873027831, 160119250202294080314525511, 446361482453451925867726765, 1244313677251960526515663098, 3468750302749879037148672638, 9669771282591935067238094099, 26956243170202614162888418349, 75145422225159706898594718897, 209481508448459456259031388451, 583967739915759411018445960070, 1627916104806089404716254189630, 4538111719440741481990578109621, 12650810393314788973308585932159, 35266430952326695383613659010311, 98311579531099449740702714661053, 274061378169089576067040502904858, 763995852392757842525917952507110, 2129777155660413824697739986136435, 5937140520549716384044814392593477, 16550857195114829905521731614374289, 46138519535616656524195592456945971, 128619500479214332881147601176876710, 358550210757244958899064181189501270, 999523813691381486212321972098081013, 2786354112095516226469633568339003207, 7767467999905780168641551459599612039, 21653227372520003078636868177656646541, 60362302831725453155289649230264157114, 168270878999451781378332814206597356494, 469085627799577395028092935514249005715, 1307661358379429047318291691147792845853, 3645343465797555418044484630269135174833, 10162056788235500923909024563794881590659, 28328578400425051108340061575110425777990, 78971055851418155908689177919025880045294, 220146156793883889122306503813854940266101, 613697383536337649977798351648879527255119, 1710792884347141656068119796802586795382215, 4769145790173493310301398609789061490243613, 13294859813851291555810811586958085411268570, 37061835650767140462237269439884754365842742, 103316596115846659369048103780011236564098163
Generating function in Maple syntax:
(x^3+x^2+x-1)/(2*x^5+3*x^4+2*x^3+x^2+2*x-1)
Generating function in latex syntax:
\frac{x^{3}+x^{2}+x -1}{2 x^{5}+3 x^{4}+2 x^{3}+x^{2}+2 x -1}
Generating function in sympy syntax:
(x**3 + x**2 + x - 1)/(2*x**5 + 3*x**4 + 2*x**3 + x**2 + 2*x - 1)
Implicit equation for the generating function in Maple syntax:
(2*x^5+3*x^4+2*x^3+x^2+2*x-1)*F(x)-x^3-x^2-x+1 = 0
Implicit equation for the generating function in latex syntax:
\left(2 x^{5}+3 x^{4}+2 x^{3}+x^{2}+2 x -1\right) F \! \left(x \right)-x^{3}-x^{2}-x +1 = 0
Explicit closed form in Maple syntax:
-1351/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 1)^(-n+3)-1351/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 2)^(-n+3)-1351/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 3)^(-n+3)-1351/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 4)^(-n+3)-1351/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 5)^(-n+3)-271/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 1)^(-n+2)-271/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 2)^(-n+2)-271/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 3)^(-n+2)-271/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 4)^(-n+2)-271/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 5)^(-n+2)+4045/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 1)^(-n+1)+4045/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 2)^(-n+1)+4045/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 3)^(-n+1)+4045/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 4)^(-n+1)+4045/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 5)^(-n+1)+1163/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 1)^(-n-1)+1163/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 2)^(-n-1)+1163/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 3)^(-n-1)+1163/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 4)^(-n-1)+1163/46754*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 5)^(-n-1)+4955/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 1)^(-n)+4955/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 2)^(-n)+4955/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 3)^(-n)+4955/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 4)^(-n)+4955/23377*RootOf(2*_Z^5+3*_Z^4+2*_Z^3+_Z^2+2*_Z-1,index = 5)^(-n)
Explicit closed form in latex syntax:
-\frac{1351 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =1\right)^{-n +3}}{23377}-\frac{1351 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =2\right)^{-n +3}}{23377}-\frac{1351 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =3\right)^{-n +3}}{23377}-\frac{1351 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =4\right)^{-n +3}}{23377}-\frac{1351 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =5\right)^{-n +3}}{23377}-\frac{271 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =1\right)^{-n +2}}{46754}-\frac{271 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =2\right)^{-n +2}}{46754}-\frac{271 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =3\right)^{-n +2}}{46754}-\frac{271 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =4\right)^{-n +2}}{46754}-\frac{271 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =5\right)^{-n +2}}{46754}+\frac{4045 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =1\right)^{-n +1}}{46754}+\frac{4045 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =2\right)^{-n +1}}{46754}+\frac{4045 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =3\right)^{-n +1}}{46754}+\frac{4045 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =4\right)^{-n +1}}{46754}+\frac{4045 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =5\right)^{-n +1}}{46754}+\frac{1163 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =1\right)^{-n -1}}{46754}+\frac{1163 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =2\right)^{-n -1}}{46754}+\frac{1163 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =3\right)^{-n -1}}{46754}+\frac{1163 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =4\right)^{-n -1}}{46754}+\frac{1163 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =5\right)^{-n -1}}{46754}+\frac{4955 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =1\right)^{-n}}{23377}+\frac{4955 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =2\right)^{-n}}{23377}+\frac{4955 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =3\right)^{-n}}{23377}+\frac{4955 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =4\right)^{-n}}{23377}+\frac{4955 \mathit{RootOf}\! \left(2 \textit{\_Z}^{5}+3 \textit{\_Z}^{4}+2 \textit{\_Z}^{3}+\textit{\_Z}^{2}+2 \textit{\_Z} -1, \mathit{index} =5\right)^{-n}}{23377}
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 19
a(n+5) = 2*a(n)+3*a(n+1)+2*a(n+2)+a(n+3)+2*a(n+4), n >= 5
Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(4\right) = 19
a \! \left(n +5\right) = 2 a \! \left(n \right)+3 a \! \left(n +1\right)+2 a \! \left(n +2\right)+a \! \left(n +3\right)+2 a \! \left(n +4\right), \quad n \geq 5
Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/16363/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[5,x]
F[4,x] = x
F[5,x] = F[19,x]+F[6,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[8,x]
F[8,x] = F[4,x]*F[9,x]
F[9,x] = F[10,x]+F[11,x]
F[10,x] = F[1,x]+F[4,x]
F[11,x] = F[12,x]+F[7,x]
F[12,x] = F[13,x]+F[14,x]+F[18,x]
F[13,x] = 0
F[14,x] = F[15,x]*F[4,x]
F[15,x] = F[16,x]+F[17,x]
F[16,x] = F[4,x]
F[17,x] = F[18,x]
F[18,x] = F[4,x]*F[7,x]
F[19,x] = F[2,x]+F[20,x]
F[20,x] = F[13,x]+F[21,x]+F[50,x]
F[21,x] = F[22,x]*F[4,x]
F[22,x] = F[23,x]+F[28,x]
F[23,x] = F[24,x]+F[26,x]
F[24,x] = F[25,x]
F[25,x] = F[10,x]*F[4,x]
F[26,x] = F[13,x]+F[14,x]+F[27,x]
F[27,x] = F[11,x]*F[4,x]
F[28,x] = F[29,x]+F[34,x]
F[29,x] = F[30,x]
F[30,x] = F[31,x]*F[4,x]
F[31,x] = F[2,x]+F[32,x]
F[32,x] = F[33,x]
F[33,x] = F[2,x]*F[4,x]
F[34,x] = 2*F[13,x]+F[35,x]+F[49,x]
F[35,x] = F[36,x]*F[4,x]
F[36,x] = F[37,x]+F[38,x]
F[37,x] = F[32,x]
F[38,x] = F[39,x]
F[39,x] = F[4,x]*F[40,x]
F[40,x] = F[41,x]
F[41,x] = F[4,x]*F[42,x]
F[42,x] = F[31,x]+F[43,x]
F[43,x] = F[40,x]+F[44,x]
F[44,x] = 2*F[13,x]+F[39,x]+F[45,x]
F[45,x] = F[4,x]*F[46,x]
F[46,x] = F[47,x]+F[48,x]
F[47,x] = F[32,x]
F[48,x] = F[39,x]
F[49,x] = F[4,x]*F[43,x]
F[50,x] = F[4,x]*F[51,x]
F[51,x] = F[52,x]+F[59,x]
F[52,x] = F[2,x]+F[53,x]
F[53,x] = F[13,x]+F[33,x]+F[54,x]
F[54,x] = F[4,x]*F[55,x]
F[55,x] = F[56,x]+F[57,x]
F[56,x] = F[12,x]+F[4,x]
F[57,x] = F[32,x]+F[58,x]
F[58,x] = 2*F[13,x]+F[35,x]+F[39,x]
F[59,x] = F[40,x]+F[60,x]
F[60,x] = 2*F[13,x]+F[39,x]+F[45,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{5}\! \left(x \right)
F_{4}\! \left(x \right) = x
F_{5}\! \left(x \right) = F_{19}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{1}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{4}\! \left(x \right) F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right)+F_{11}\! \left(x \right)
F_{10}\! \left(x \right) = F_{1}\! \left(x \right)+F_{4}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)+F_{7}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right)+F_{14}\! \left(x \right)+F_{18}\! \left(x \right)
F_{13}\! \left(x \right) = 0
F_{14}\! \left(x \right) = F_{15}\! \left(x \right) F_{4}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right)+F_{17}\! \left(x \right)
F_{16}\! \left(x \right) = F_{4}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{4}\! \left(x \right) F_{7}\! \left(x \right)
F_{19}\! \left(x \right) = F_{2}\! \left(x \right)+F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{13}\! \left(x \right)+F_{21}\! \left(x \right)+F_{50}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right) F_{4}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{28}\! \left(x \right)
F_{23}\! \left(x \right) = F_{24}\! \left(x \right)+F_{26}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{10}\! \left(x \right) F_{4}\! \left(x \right)
F_{26}\! \left(x \right) = F_{13}\! \left(x \right)+F_{14}\! \left(x \right)+F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{11}\! \left(x \right) F_{4}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)+F_{34}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{31}\! \left(x \right) F_{4}\! \left(x \right)
F_{31}\! \left(x \right) = F_{2}\! \left(x \right)+F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right)
F_{33}\! \left(x \right) = F_{2}\! \left(x \right) F_{4}\! \left(x \right)
F_{34}\! \left(x \right) = 2 F_{13}\! \left(x \right)+F_{35}\! \left(x \right)+F_{49}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right) F_{4}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)+F_{38}\! \left(x \right)
F_{37}\! \left(x \right) = F_{32}\! \left(x \right)
F_{38}\! \left(x \right) = F_{39}\! \left(x \right)
F_{39}\! \left(x \right) = F_{4}\! \left(x \right) F_{40}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = F_{4}\! \left(x \right) F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{31}\! \left(x \right)+F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{40}\! \left(x \right)+F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = 2 F_{13}\! \left(x \right)+F_{39}\! \left(x \right)+F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{4}\! \left(x \right) F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{47}\! \left(x \right)+F_{48}\! \left(x \right)
F_{47}\! \left(x \right) = F_{32}\! \left(x \right)
F_{48}\! \left(x \right) = F_{39}\! \left(x \right)
F_{49}\! \left(x \right) = F_{4}\! \left(x \right) F_{43}\! \left(x \right)
F_{50}\! \left(x \right) = F_{4}\! \left(x \right) F_{51}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)+F_{59}\! \left(x \right)
F_{52}\! \left(x \right) = F_{2}\! \left(x \right)+F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = F_{13}\! \left(x \right)+F_{33}\! \left(x \right)+F_{54}\! \left(x \right)
F_{54}\! \left(x \right) = F_{4}\! \left(x \right) F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{56}\! \left(x \right)+F_{57}\! \left(x \right)
F_{56}\! \left(x \right) = F_{12}\! \left(x \right)+F_{4}\! \left(x \right)
F_{57}\! \left(x \right) = F_{32}\! \left(x \right)+F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = 2 F_{13}\! \left(x \right)+F_{35}\! \left(x \right)+F_{39}\! \left(x \right)
F_{59}\! \left(x \right) = F_{40}\! \left(x \right)+F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = 2 F_{13}\! \left(x \right)+F_{39}\! \left(x \right)+F_{45}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_5(x))
Eq(F_4(x), x)
Eq(F_5(x), F_19(x) + F_6(x))
Eq(F_6(x), F_1(x) + F_7(x))
Eq(F_7(x), F_8(x))
Eq(F_8(x), F_4(x)*F_9(x))
Eq(F_9(x), F_10(x) + F_11(x))
Eq(F_10(x), F_1(x) + F_4(x))
Eq(F_11(x), F_12(x) + F_7(x))
Eq(F_12(x), F_13(x) + F_14(x) + F_18(x))
Eq(F_13(x), 0)
Eq(F_14(x), F_15(x)*F_4(x))
Eq(F_15(x), F_16(x) + F_17(x))
Eq(F_16(x), F_4(x))
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_4(x)*F_7(x))
Eq(F_19(x), F_2(x) + F_20(x))
Eq(F_20(x), F_13(x) + F_21(x) + F_50(x))
Eq(F_21(x), F_22(x)*F_4(x))
Eq(F_22(x), F_23(x) + F_28(x))
Eq(F_23(x), F_24(x) + F_26(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_10(x)*F_4(x))
Eq(F_26(x), F_13(x) + F_14(x) + F_27(x))
Eq(F_27(x), F_11(x)*F_4(x))
Eq(F_28(x), F_29(x) + F_34(x))
Eq(F_29(x), F_30(x))
Eq(F_30(x), F_31(x)*F_4(x))
Eq(F_31(x), F_2(x) + F_32(x))
Eq(F_32(x), F_33(x))
Eq(F_33(x), F_2(x)*F_4(x))
Eq(F_34(x), 2*F_13(x) + F_35(x) + F_49(x))
Eq(F_35(x), F_36(x)*F_4(x))
Eq(F_36(x), F_37(x) + F_38(x))
Eq(F_37(x), F_32(x))
Eq(F_38(x), F_39(x))
Eq(F_39(x), F_4(x)*F_40(x))
Eq(F_40(x), F_41(x))
Eq(F_41(x), F_4(x)*F_42(x))
Eq(F_42(x), F_31(x) + F_43(x))
Eq(F_43(x), F_40(x) + F_44(x))
Eq(F_44(x), 2*F_13(x) + F_39(x) + F_45(x))
Eq(F_45(x), F_4(x)*F_46(x))
Eq(F_46(x), F_47(x) + F_48(x))
Eq(F_47(x), F_32(x))
Eq(F_48(x), F_39(x))
Eq(F_49(x), F_4(x)*F_43(x))
Eq(F_50(x), F_4(x)*F_51(x))
Eq(F_51(x), F_52(x) + F_59(x))
Eq(F_52(x), F_2(x) + F_53(x))
Eq(F_53(x), F_13(x) + F_33(x) + F_54(x))
Eq(F_54(x), F_4(x)*F_55(x))
Eq(F_55(x), F_56(x) + F_57(x))
Eq(F_56(x), F_12(x) + F_4(x))
Eq(F_57(x), F_32(x) + F_58(x))
Eq(F_58(x), 2*F_13(x) + F_35(x) + F_39(x))
Eq(F_59(x), F_40(x) + F_60(x))
Eq(F_60(x), 2*F_13(x) + F_39(x) + F_45(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "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"}}]}