0123_0132_0213_0231_2103

Counting sequence:
1, 1, 2, 6, 19, 56, 161, 466, 1353, 3928, 11400, 33083, 96010, 278634, 808633, 2346757, 6810589, 19765203, 57361158, 166469448, 483115716, 1402063848, 4068969338, 11808671553, 34270281307, 99456757312, 288636281867, 837659556393, 2430995604151, 7055061429548, 20474694273284, 59420192123161, 172445028229821, 500457617160628, 1452392273323782, 4215028892114096, 12232555135189639, 35500445896209045, 103026852926596495, 298997157810122872, 867728148914980525, 2518258521031087236, 7308309620559546333, 21209653045507900263, 61553136862909855305, 178635107775445615971, 518422022926558899845, 1504527285829579253271, 4366331393538018445840, 12671654424454995838981, 36774768422398663338311, 106725100544968144351506, 309729947324318781747595, 898876082380493966760470, 2608653823938016384629968, 7570648398080136418123954, 21970993867185950284276029, 63762645698133097841360158, 185047386158429791261065228, 537031278253085698928257082, 1558533734571235621239920320, 4523065043246586561179786409, 13126515603505642607713037200, 38094833976873109197858870901, 110556100305701514015890340175, 320848000603560867987549887262, 931142100767402659282416929502, 2702293952870309193938014832385, 7842404077424014125096873175878, 22759663747265366904735470023527, 66051466970410564330957226106560, 191689839418978196129624821690149, 556308530633157664402043776913824, 1614478796545869630669579819607936, 4685424797512248972645583922137931, 13597704460480337813497481256716538, 39462284549469071360984687082811144, 114524617474165553683020166791216431, 332365147059900977281338311846965337, 964566338805441900224940147017831863, 2799295383967723919600374360123541721, 8123914687306520546686346762872818580, 23576643688487418003230581702238983032, 68422447675676916725804465209146962864, 198570729904901914190499109286118409246, 576277758461165943871529460266791940796, 1672432060133288547502784174335300615729, 4853612610749684424474365516250712889335, 14085807093025286112385945178457329913700, 40878821070821976005153733011868849529605, 118635588369496274781705015240631317985335, 344295712525389543168364457781008272928733, 999190371898932702610667405468046612133680, 2899778774392676715914959368766600816467342, 8415530390307673221363707404227183902741717, 24422949907626882652174048937079806584480899, 70878537005514221435375017587085814438579062, 205698616548904671256120721580319042875944668, 596963800858947301650639536991329481562550402, 1732465611654880673071996672603301613775139037, 5027837686720823269508402265512066068196495227

Generating function in Maple syntax:
(x^4-x^3-2*x+1)/(x^6-x^5-2*x^3+x^2-3*x+1)

Generating function in latex syntax:
\frac{x^{4}-x^{3}-2 x +1}{x^{6}-x^{5}-2 x^{3}+x^{2}-3 x +1}

Generating function in sympy syntax:
(x**4 - x**3 - 2*x + 1)/(x**6 - x**5 - 2*x**3 + x**2 - 3*x + 1)

Implicit equation for the generating function in Maple syntax:
(x^6-x^5-2*x^3+x^2-3*x+1)*F(x)-x^4+x^3+2*x-1 = 0

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

Explicit closed form in Maple syntax:
-1685/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 1)^(-n+4)-1685/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 2)^(-n+4)-1685/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 3)^(-n+4)-1685/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 4)^(-n+4)-1685/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 5)^(-n+4)-1685/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 6)^(-n+4)-7891/102831*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 1)^(-n+3)-7891/102831*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 2)^(-n+3)-7891/102831*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 3)^(-n+3)-7891/102831*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 4)^(-n+3)-7891/102831*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 5)^(-n+3)-7891/102831*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 6)^(-n+3)+924/34277*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 1)^(-n+2)+924/34277*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 2)^(-n+2)+924/34277*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 3)^(-n+2)+924/34277*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 4)^(-n+2)+924/34277*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 5)^(-n+2)+924/34277*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 6)^(-n+2)+17572/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 1)^(-n+1)+17572/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 2)^(-n+1)+17572/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 3)^(-n+1)+17572/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 4)^(-n+1)+17572/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 5)^(-n+1)+17572/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 6)^(-n+1)+335/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 1)^(-n-1)+335/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 2)^(-n-1)+335/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 3)^(-n-1)+335/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 4)^(-n-1)+335/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 5)^(-n-1)+335/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 6)^(-n-1)+75956/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 1)^(-n)+75956/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 2)^(-n)+75956/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 3)^(-n)+75956/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 4)^(-n)+75956/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 5)^(-n)+75956/308493*RootOf(_Z^6-_Z^5-2*_Z^3+_Z^2-3*_Z+1,index = 6)^(-n)

Explicit closed form in latex syntax:
-\frac{1685 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =1\right)^{-n +4}}{308493}-\frac{1685 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =2\right)^{-n +4}}{308493}-\frac{1685 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =3\right)^{-n +4}}{308493}-\frac{1685 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =4\right)^{-n +4}}{308493}-\frac{1685 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =5\right)^{-n +4}}{308493}-\frac{1685 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =6\right)^{-n +4}}{308493}-\frac{7891 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =1\right)^{-n +3}}{102831}-\frac{7891 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =2\right)^{-n +3}}{102831}-\frac{7891 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =3\right)^{-n +3}}{102831}-\frac{7891 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =4\right)^{-n +3}}{102831}-\frac{7891 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =5\right)^{-n +3}}{102831}-\frac{7891 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =6\right)^{-n +3}}{102831}+\frac{924 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =1\right)^{-n +2}}{34277}+\frac{924 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =2\right)^{-n +2}}{34277}+\frac{924 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =3\right)^{-n +2}}{34277}+\frac{924 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =4\right)^{-n +2}}{34277}+\frac{924 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =5\right)^{-n +2}}{34277}+\frac{924 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =6\right)^{-n +2}}{34277}+\frac{17572 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =1\right)^{-n +1}}{308493}+\frac{17572 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =2\right)^{-n +1}}{308493}+\frac{17572 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =3\right)^{-n +1}}{308493}+\frac{17572 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =4\right)^{-n +1}}{308493}+\frac{17572 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =5\right)^{-n +1}}{308493}+\frac{17572 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =6\right)^{-n +1}}{308493}+\frac{335 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =1\right)^{-n -1}}{308493}+\frac{335 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =2\right)^{-n -1}}{308493}+\frac{335 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =3\right)^{-n -1}}{308493}+\frac{335 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =4\right)^{-n -1}}{308493}+\frac{335 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =5\right)^{-n -1}}{308493}+\frac{335 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =6\right)^{-n -1}}{308493}+\frac{75956 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =1\right)^{-n}}{308493}+\frac{75956 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =2\right)^{-n}}{308493}+\frac{75956 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =3\right)^{-n}}{308493}+\frac{75956 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =4\right)^{-n}}{308493}+\frac{75956 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =5\right)^{-n}}{308493}+\frac{75956 \mathit{RootOf}\! \left(\textit{\_Z}^{6}-\textit{\_Z}^{5}-2 \textit{\_Z}^{3}+\textit{\_Z}^{2}-3 \textit{\_Z} +1, \mathit{index} =6\right)^{-n}}{308493}

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 19
a(5) = 56
a(n+1) = a(n)-2*a(n+3)+a(n+4)-3*a(n+5)+a(n+6), n >= 6

Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(4\right) = 19
a \! \left(5\right) = 56
a \! \left(n +1\right) = a \! \left(n \right)-2 a \! \left(n +3\right)+a \! \left(n +4\right)-3 a \! \left(n +5\right)+a \! \left(n +6\right), \quad n \geq 6

Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/15950/
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[12,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[7,x]
F[12,x] = F[13,x]+F[2,x]
F[13,x] = F[14,x]+F[15,x]+F[39,x]
F[14,x] = 0
F[15,x] = F[16,x]*F[4,x]
F[16,x] = F[17,x]+F[24,x]
F[17,x] = F[18,x]+F[7,x]
F[18,x] = F[14,x]+F[19,x]+F[21,x]
F[19,x] = F[20,x]*F[4,x]
F[20,x] = F[4,x]
F[21,x] = F[22,x]*F[4,x]
F[22,x] = F[11,x]+F[23,x]
F[23,x] = F[18,x]
F[24,x] = F[25,x]+F[32,x]
F[25,x] = F[26,x]
F[26,x] = F[27,x]*F[4,x]
F[27,x] = F[28,x]+F[31,x]
F[28,x] = F[2,x]+F[29,x]
F[29,x] = F[30,x]
F[30,x] = F[2,x]*F[4,x]
F[31,x] = F[25,x]
F[32,x] = 2*F[14,x]+F[33,x]+F[35,x]
F[33,x] = F[34,x]*F[4,x]
F[34,x] = F[29,x]
F[35,x] = F[36,x]*F[4,x]
F[36,x] = F[37,x]+F[38,x]
F[37,x] = F[13,x]
F[38,x] = F[32,x]
F[39,x] = F[4,x]*F[40,x]
F[40,x] = F[41,x]+F[51,x]
F[41,x] = F[2,x]+F[42,x]
F[42,x] = F[14,x]+F[30,x]+F[43,x]
F[43,x] = F[4,x]*F[44,x]
F[44,x] = F[45,x]+F[48,x]
F[45,x] = F[4,x]+F[46,x]
F[46,x] = F[14,x]+F[19,x]+F[47,x]
F[47,x] = F[4,x]*F[7,x]
F[48,x] = F[29,x]+F[49,x]
F[49,x] = 2*F[14,x]+F[33,x]+F[50,x]
F[50,x] = F[13,x]*F[4,x]
F[51,x] = F[13,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{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_{12}\! \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_{7}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right)+F_{2}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{15}\! \left(x \right)+F_{39}\! \left(x \right)
F_{14}\! \left(x \right) = 0
F_{15}\! \left(x \right) = F_{16}\! \left(x \right) F_{4}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17}\! \left(x \right)+F_{24}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{7}\! \left(x \right)
F_{18}\! \left(x \right) = F_{14}\! \left(x \right)+F_{19}\! \left(x \right)+F_{21}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right) F_{4}\! \left(x \right)
F_{20}\! \left(x \right) = F_{4}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right) F_{4}\! \left(x \right)
F_{22}\! \left(x \right) = F_{11}\! \left(x \right)+F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{18}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)+F_{32}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right) F_{4}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right)+F_{31}\! \left(x \right)
F_{28}\! \left(x \right) = F_{2}\! \left(x \right)+F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{2}\! \left(x \right) F_{4}\! \left(x \right)
F_{31}\! \left(x \right) = F_{25}\! \left(x \right)
F_{32}\! \left(x \right) = 2 F_{14}\! \left(x \right)+F_{33}\! \left(x \right)+F_{35}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right) F_{4}\! \left(x \right)
F_{34}\! \left(x \right) = F_{29}\! \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_{13}\! \left(x \right)
F_{38}\! \left(x \right) = F_{32}\! \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_{51}\! \left(x \right)
F_{41}\! \left(x \right) = F_{2}\! \left(x \right)+F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{14}\! \left(x \right)+F_{30}\! \left(x \right)+F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{4}\! \left(x \right) F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = F_{45}\! \left(x \right)+F_{48}\! \left(x \right)
F_{45}\! \left(x \right) = F_{4}\! \left(x \right)+F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{14}\! \left(x \right)+F_{19}\! \left(x \right)+F_{47}\! \left(x \right)
F_{47}\! \left(x \right) = F_{4}\! \left(x \right) F_{7}\! \left(x \right)
F_{48}\! \left(x \right) = F_{29}\! \left(x \right)+F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = 2 F_{14}\! \left(x \right)+F_{33}\! \left(x \right)+F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{51}\! \left(x \right) = F_{13}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_5(x))
Eq(F_4(x), x)
Eq(F_5(x), F_12(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_7(x))
Eq(F_12(x), F_13(x) + F_2(x))
Eq(F_13(x), F_14(x) + F_15(x) + F_39(x))
Eq(F_14(x), 0)
Eq(F_15(x), F_16(x)*F_4(x))
Eq(F_16(x), F_17(x) + F_24(x))
Eq(F_17(x), F_18(x) + F_7(x))
Eq(F_18(x), F_14(x) + F_19(x) + F_21(x))
Eq(F_19(x), F_20(x)*F_4(x))
Eq(F_20(x), F_4(x))
Eq(F_21(x), F_22(x)*F_4(x))
Eq(F_22(x), F_11(x) + F_23(x))
Eq(F_23(x), F_18(x))
Eq(F_24(x), F_25(x) + F_32(x))
Eq(F_25(x), F_26(x))
Eq(F_26(x), F_27(x)*F_4(x))
Eq(F_27(x), F_28(x) + F_31(x))
Eq(F_28(x), F_2(x) + F_29(x))
Eq(F_29(x), F_30(x))
Eq(F_30(x), F_2(x)*F_4(x))
Eq(F_31(x), F_25(x))
Eq(F_32(x), 2*F_14(x) + F_33(x) + F_35(x))
Eq(F_33(x), F_34(x)*F_4(x))
Eq(F_34(x), F_29(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_13(x))
Eq(F_38(x), F_32(x))
Eq(F_39(x), F_4(x)*F_40(x))
Eq(F_40(x), F_41(x) + F_51(x))
Eq(F_41(x), F_2(x) + F_42(x))
Eq(F_42(x), F_14(x) + F_30(x) + F_43(x))
Eq(F_43(x), F_4(x)*F_44(x))
Eq(F_44(x), F_45(x) + F_48(x))
Eq(F_45(x), F_4(x) + F_46(x))
Eq(F_46(x), F_14(x) + F_19(x) + F_47(x))
Eq(F_47(x), F_4(x)*F_7(x))
Eq(F_48(x), F_29(x) + F_49(x))
Eq(F_49(x), 2*F_14(x) + F_33(x) + F_50(x))
Eq(F_50(x), F_13(x)*F_4(x))
Eq(F_51(x), F_13(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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [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": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [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": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 1], [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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 2], "pos": [[0, 1], [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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 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, 0]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "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, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [], "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": [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, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [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, 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": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [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, 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, 1], [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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [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, 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": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [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, 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, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 2], "pos": [[0, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}]]}], "class_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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"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, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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"}}, {"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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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": [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, 2]]}, {"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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"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, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "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, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [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, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 2]]}, {"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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"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, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 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, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [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, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 0]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 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, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 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, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "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, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 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, 1], [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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "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, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 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, 1]]}, {"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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"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, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 2]]}, {"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, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [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, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}]]}, "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, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 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, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"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, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 2]]}, {"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, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [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, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2], [1, 4]]], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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_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, 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, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [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": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [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, 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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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, 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, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"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, 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, 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, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [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": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [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, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}]]}], "class_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, 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, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"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, 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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 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, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 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, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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"}}, {"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, 2]]}, {"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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"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, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "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": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [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": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "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, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"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, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 3], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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": [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": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 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, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}]]}, "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, 2], "pos": [[0, 1], [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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"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": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"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, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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}}, {"class_module": "comb_spec_searcher.strategies.rule", "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, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [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": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"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, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 0]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "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, 2], "pos": [[0, 1], [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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [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, 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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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"}}, "rule_class": "EquivalenceRule"}, {"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, 2], "pos": [[0, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 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, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[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, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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": [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, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 1], [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, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "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, 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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 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, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 0], [0, 2]]}, {"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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 3]]}]]}, "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": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [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, 2], "pos": [[0, 1], [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": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"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, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}], [{"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, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [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, 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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [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]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "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": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [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"}}]}