0231_0321_1302_1320_2301

Counting sequence:
1, 1, 2, 6, 19, 58, 174, 517, 1524, 4462, 12989, 37626, 108532, 311905, 893466, 2552050, 7271007, 20668666, 58633310, 166026849, 469343368, 1324794382, 3734312613, 10513066966, 29563177104, 83045680129, 233058145322, 653470674990, 1830764570851, 5125197474058, 14337882388758, 40084649559229, 111997985789028, 312751920978574, 872899897025765, 2435113436065314, 6790137902361604, 18925869198506257, 52730644650392610, 146862718188082570, 408894864190339407, 1138080458734213018, 3166681564225058438, 8808748160504445609, 24496838229117246904, 68108143587983476126, 189316232332976239341, 526117371056067202990, 1461804071033584376064, 4060811234792784041281, 11278687439035825050674, 31320676296838123909782, 86963075682105885888979, 241420386032529175891930, 670119279248526661779870, 1859828941159763566502389, 5161072651020906931033140, 14320434039659718169452910, 39730550933885100269642093, 110216843238809522666872842, 305723575774815196063714228, 847949372051564163187400257, 2351653031762203798182539466, 6521403306408370376081984290, 18083204633566478357207789343, 50139288740810781136936798330, 139011641865494766495366239630, 385386147285144077260201783857, 1068352429148239957017990482440, 2961474497481641611522747545646, 8208766016534050397915474293845, 22752310683668842817323115242246, 63059735833202178056715946894800, 174766814033815823646076734060865, 484336375254698322993707645588378, 1342200971270489803381036440449214, 3719386765408828163468431007312227, 10306457014958408288047547728701994, 28558315782161791085471046526629318, 79130107376462791598051833079031085, 219249023669341082813969633193378276, 607464730055663521914823201069837198, 1683033065492780005667799434467264469, 4662867414306079497334792541599530546, 12918227888504640035408897178251652484, 35788447335557112776599937982099959665, 99145581608018736250688932186229073810, 274659727584785119225725184830105596218, 760866055029691925388671624635406403663, 2107722836547922583532884385234732194074, 5838634627957902324275838943466845562102, 16173425622196987263861794988532670752377, 44800828188946473518537770935992328671224, 124097704394055299069934887430058990313278, 343744279966015809849155937815534371708509, 952141660923281837224244920703839800056158, 2637316929538315301684009131507136999803776, 7304963277448627546820250447225081167582593, 20233405650763261882640427817866780111526370, 56042233995685763853560052163274921995860006, 155223558700629115870545568508365810722289171

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

Generating function in latex syntax:
\frac{x^{5}-2 x^{4}+2 x^{3}-7 x^{2}+5 x -1}{\left(x^{2}-3 x +1\right) \left(x^{3}-x^{2}+3 x -1\right)}

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

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

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

Explicit closed form in Maple syntax:
piecewise(n = 0,1,1/36480*(((-1520*I-240*19^(1/2))*3^(1/2)-720*I*19^(1/2)-1520)*(1+3*19^(1/2)*3^(1/2))^(1/3)+12160+((665*I+75*19^(1/2))*3^(1/2)-225*I*19^(1/2)-665)*(1+3*19^(1/2)*3^(1/2))^(2/3))*(1/384*((I+3*19^(1/2))*3^(1/2)-9*I*19^(1/2)-1)*(1+3*19^(1/2)*3^(1/2))^(2/3)-1/6*I*3^(1/2)*(1+3*19^(1/2)*3^(1/2))^(1/3)-1/6*(1+3*19^(1/2)*3^(1/2))^(1/3)+1/3)^(-n)+1/36480*(((-665*I+75*19^(1/2))*3^(1/2)+225*I*19^(1/2)-665)*(1+3*19^(1/2)*3^(1/2))^(2/3)+12160+((1520*I-240*19^(1/2))*3^(1/2)+720*I*19^(1/2)-1520)*(1+3*19^(1/2)*3^(1/2))^(1/3))*(1/384*((-I+3*19^(1/2))*3^(1/2)+9*I*19^(1/2)-1)*(1+3*19^(1/2)*3^(1/2))^(2/3)+1/6*I*3^(1/2)*(1+3*19^(1/2)*3^(1/2))^(1/3)-1/6*(1+3*19^(1/2)*3^(1/2))^(1/3)+1/3)^(-n)+1/36480*((-150*19^(1/2)*3^(1/2)+1330)*(1+3*19^(1/2)*3^(1/2))^(2/3)+480*(1+3*19^(1/2)*3^(1/2))^(1/3)*19^(1/2)*3^(1/2)+3040*(1+3*19^(1/2)*3^(1/2))^(1/3)+12160)*(1/3*(1+3*19^(1/2)*3^(1/2))^(1/3)+1/3+1/192*(1+3*19^(1/2)*3^(1/2))^(2/3)-1/64*(1+3*19^(1/2)*3^(1/2))^(2/3)*19^(1/2)*3^(1/2))^(-n)+1/36480*(-3648*5^(1/2)-18240)*(3/2-1/2*5^(1/2))^(-n)+1/10*(3/2+1/2*5^(1/2))^(-n)*(5^(1/2)-5))

Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =0 \\ \frac{\left(\left(\left(-1520 \,\mathrm{I}-240 \sqrt{19}\right) \sqrt{3}-720 \,\mathrm{I} \sqrt{19}-1520\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}+12160+\left(\left(665 \,\mathrm{I}+75 \sqrt{19}\right) \sqrt{3}-225 \,\mathrm{I} \sqrt{19}-665\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}}\right) \left(\frac{\left(\left(\mathrm{I}+3 \sqrt{19}\right) \sqrt{3}-9 \,\mathrm{I} \sqrt{19}-1\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}}}{384}-\frac{\mathrm{I} \sqrt{3}\, \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}-\frac{\left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}+\frac{1}{3}\right)^{-n}}{36480}\\+\\\frac{\left(\left(\left(-665 \,\mathrm{I}+75 \sqrt{19}\right) \sqrt{3}+225 \,\mathrm{I} \sqrt{19}-665\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}}+12160+\left(\left(1520 \,\mathrm{I}-240 \sqrt{19}\right) \sqrt{3}+720 \,\mathrm{I} \sqrt{19}-1520\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}\right) \left(\frac{\left(\left(-\mathrm{I}+3 \sqrt{19}\right) \sqrt{3}+9 \,\mathrm{I} \sqrt{19}-1\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}}}{384}+\frac{\mathrm{I} \sqrt{3}\, \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}-\frac{\left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}+\frac{1}{3}\right)^{-n}}{36480}\\+\\\frac{\left(\left(-150 \sqrt{19}\, \sqrt{3}+1330\right) \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}}+480 \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}} \sqrt{19}\, \sqrt{3}+3040 \left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}+12160\right) \left(\frac{\left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{1}{3}}}{3}+\frac{1}{3}+\frac{\left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}}}{192}-\frac{\left(1+3 \sqrt{19}\, \sqrt{3}\right)^{\frac{2}{3}} \sqrt{19}\, \sqrt{3}}{64}\right)^{-n}}{36480}\\+\frac{\left(-3648 \sqrt{5}-18240\right) \left(\frac{3}{2}-\frac{\sqrt{5}}{2}\right)^{-n}}{36480}+\frac{\left(\frac{3}{2}+\frac{\sqrt{5}}{2}\right)^{-n} \left(\sqrt{5}-5\right)}{10} & \mathit{\text{otherwise}} \end{array}\right.

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 19
a(5) = 58
a(n+5) = a(n)-4*a(n+1)+7*a(n+2)-11*a(n+3)+6*a(n+4), 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) = 58
a \! \left(n +5\right) = a \! \left(n \right)-4 a \! \left(n +1\right)+7 a \! \left(n +2\right)-11 a \! \left(n +3\right)+6 a \! \left(n +4\right), \quad n \geq 6

Specification 1
Strategy pack name: point_placements
Tree: http://www.permpal.com/tree/22004/
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[12,x]*F[4,x]
F[4,x] = F[0,x]+F[5,x]
F[5,x] = F[6,x]
F[6,x] = F[12,x]*F[7,x]
F[7,x] = F[25,x]+F[8,x]
F[8,x] = F[13,x]*F[9,x]
F[9,x] = F[1,x]+F[10,x]
F[10,x] = F[11,x]
F[11,x] = F[12,x]*F[9,x]
F[12,x] = x
F[13,x] = F[14,x]+F[21,x]
F[14,x] = F[0,x]+F[15,x]
F[15,x] = F[16,x]
F[16,x] = F[12,x]*F[17,x]
F[17,x] = F[18,x]+F[20,x]
F[18,x] = F[1,x]+F[19,x]
F[19,x] = F[15,x]
F[20,x] = F[15,x]*F[9,x]
F[21,x] = F[2,x]*F[22,x]
F[22,x] = F[10,x]+F[23,x]
F[23,x] = F[1,x]+F[24,x]
F[24,x] = F[12,x]*F[23,x]
F[25,x] = F[26,x]
F[26,x] = F[9,x]^2*F[12,x]*F[15,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_{12}\! \left(x \right) F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{0}\! \left(x \right)+F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{12}\! \left(x \right) F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{25}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{13}\! \left(x \right) F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{1}\! \left(x \right)+F_{10}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right) F_{9}\! \left(x \right)
F_{12}\! \left(x \right) = x
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{21}\! \left(x \right)
F_{14}\! \left(x \right) = F_{0}\! \left(x \right)+F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{12}\! \left(x \right) F_{17}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{20}\! \left(x \right)
F_{18}\! \left(x \right) = F_{1}\! \left(x \right)+F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{15}\! \left(x \right)
F_{20}\! \left(x \right) = F_{15}\! \left(x \right) F_{9}\! \left(x \right)
F_{21}\! \left(x \right) = F_{2}\! \left(x \right) F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{10}\! \left(x \right)+F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{1}\! \left(x \right)+F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{12}\! \left(x \right) F_{23}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right)
F_{26}\! \left(x \right) = F_{9} \left(x \right)^{2} F_{12}\! \left(x \right) F_{15}\! \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_12(x)*F_4(x))
Eq(F_4(x), F_0(x) + F_5(x))
Eq(F_5(x), F_6(x))
Eq(F_6(x), F_12(x)*F_7(x))
Eq(F_7(x), F_25(x) + F_8(x))
Eq(F_8(x), F_13(x)*F_9(x))
Eq(F_9(x), F_1(x) + F_10(x))
Eq(F_10(x), F_11(x))
Eq(F_11(x), F_12(x)*F_9(x))
Eq(F_12(x), x)
Eq(F_13(x), F_14(x) + F_21(x))
Eq(F_14(x), F_0(x) + F_15(x))
Eq(F_15(x), F_16(x))
Eq(F_16(x), F_12(x)*F_17(x))
Eq(F_17(x), F_18(x) + F_20(x))
Eq(F_18(x), F_1(x) + F_19(x))
Eq(F_19(x), F_15(x))
Eq(F_20(x), F_15(x)*F_9(x))
Eq(F_21(x), F_2(x)*F_22(x))
Eq(F_22(x), F_10(x) + F_23(x))
Eq(F_23(x), F_1(x) + F_24(x))
Eq(F_24(x), F_12(x)*F_23(x))
Eq(F_25(x), F_26(x))
Eq(F_26(x), F_12(x)*F_15(x)*F_9(x)**2)
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"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", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 4], [0, 4], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4], [1, 2], [2, 0], [4, 1]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0, 1], "pos": [[0, 3], [0, 3]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 2], [2, 0], [3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[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], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": []}, "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, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "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": [1, 0], "pos": [[0, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 1]], [[2, 2]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [1], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "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": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [1, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 3, 0, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"class_module": "comb_spec_searcher.strategies.rule", "idx": 1, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 3, 0, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, "rule_class": "EquivalenceRule"}]}]}