0213_0231_0321_1302_1320_2031_3021_3120
Counting sequence:
1, 1, 2, 6, 16, 41, 102, 247, 584, 1353, 3082, 6923, 15372, 33805, 73742, 159759, 344080, 737297, 1572882, 3342355, 7077908, 14942229, 31457302, 66060311, 138412056, 289407001, 603979802, 1258291227, 2617245724, 5435818013, 11274289182, 23353884703, 48318382112, 99857989665, 206158430242, 425201762339, 876173328420, 1803886264357, 3710851743782, 7627861917735, 15668040695848, 32160715112489, 65970697666602, 135239930216491, 277076930199596, 567347999932461, 1161084278931502, 2374945115996207, 4855443348258864, 9921992929050673, 20266198323167282, 41376821576466483, 84442493013196852, 172262685746921525, 351280770934898742, 716072340751908919, 1459166279268040760, 2972375754064527417, 6052837899185946682, 12321848580485677115, 25076042725198921788, 51016776578852978749, 103762935414616227902, 210984635343052996671, 428886799713747075136, 871608657482776313921, 1770887431076116955202, 3597115094373362565187, 7304910653188982440004, 14831182235262479499333, 30105086328293988237382, 61095616372126034952263, 123962120175328186859592, 251466015212808607629385, 510015580149921683079242, 1034198259748452301799499, 2096730718394122474881100, 4250129834582680692326477, 8613596464754232869781582, 17453866520686208709820495, 35361080223727903360155728, 71628854812166778601341009, 145071098353755500964741202, 293768974166354889453600851, 594791503250397553955438676, 1204090116336170658007351381, 2437194452343092416207650902, 4932417344027687032801198167, 9980891566738378466374189144, 20193896890842765734291963993, 40852021296417549071671099482, 82632497622299133349516542043, 167121905303526337111381770332, 337957630724908815047460913245, 683342901685529911744316571742, 1381541083842484386787422634079, 2792792728627817900172424249440, 5645006579141334053540006461537, 11408855402054064613470328848482, 23055395291650922239721289547875, 46586159558387430505003842797668
Generating function in Maple syntax:
(3*x^5-2*x^4-5*x^3+9*x^2-5*x+1)/(2*x-1)^2/(x-1)^2
Generating function in latex syntax:
\frac{3 x^{5}-2 x^{4}-5 x^{3}+9 x^{2}-5 x +1}{\left(2 x -1\right)^{2} \left(x -1\right)^{2}}
Generating function in sympy syntax:
(3*x**5 - 2*x**4 - 5*x**3 + 9*x**2 - 5*x + 1)/((x - 1)**2*(2*x - 1)**2)
Implicit equation for the generating function in Maple syntax:
-(2*x-1)^2*(x-1)^2*F(x)+3*x^5-2*x^4-5*x^3+9*x^2-5*x+1 = 0
Implicit equation for the generating function in latex syntax:
-\left(2 x -1\right)^{2} \left(x -1\right)^{2} F \! \left(x \right)+3 x^{5}-2 x^{4}-5 x^{3}+9 x^{2}-5 x +1 = 0
Explicit closed form in Maple syntax:
piecewise(Or(n = 0,n = 1),1,1/8*(3*n-6)*2^n+n)
Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =0\text{ or } n =1 \\ \frac{\left(3 n -6\right) 2^{n}}{8}+n & \mathit{\text{otherwise}} \end{array}\right.
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 16
a(5) = 41
a(n+2) = -4*a(n)+4*a(n+1)+n-2, 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) = 16
a \! \left(5\right) = 41
a \! \left(n +2\right) = -4 a \! \left(n \right)+4 a \! \left(n +1\right)+n -2, \quad n \geq 6
Specification 1
Strategy pack name: point_placements
Tree: http://www.permpal.com/tree/23530/
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[14,x]*F[4,x]
F[4,x] = F[20,x]+F[5,x]
F[5,x] = F[1,x]+F[6,x]
F[6,x] = F[7,x]
F[7,x] = F[14,x]*F[8,x]
F[8,x] = F[5,x]+F[9,x]
F[9,x] = F[10,x]*F[17,x]
F[10,x] = F[11,x]
F[11,x] = F[12,x]
F[12,x] = F[13,x]*F[14,x]*F[15,x]
F[13,x] = F[1,x]+F[11,x]
F[14,x] = x
F[15,x] = F[1,x]+F[16,x]
F[16,x] = F[14,x]*F[15,x]
F[17,x] = F[1,x]+F[18,x]
F[18,x] = F[19,x]
F[19,x] = F[14,x]*F[15,x]*F[17,x]
F[20,x] = F[21,x]
F[21,x] = F[14,x]*F[22,x]
F[22,x] = F[23,x]+F[25,x]
F[23,x] = F[17,x]*F[24,x]
F[24,x] = F[10,x]+F[13,x]
F[25,x] = F[15,x]*F[6,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_{14}\! \left(x \right) F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{20}\! \left(x \right)+F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{1}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{14}\! \left(x \right) F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{5}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right) F_{17}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{14}\! \left(x \right) F_{15}\! \left(x \right)
F_{13}\! \left(x \right) = F_{1}\! \left(x \right)+F_{11}\! \left(x \right)
F_{14}\! \left(x \right) = x
F_{15}\! \left(x \right) = F_{1}\! \left(x \right)+F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{14}\! \left(x \right) F_{15}\! \left(x \right)
F_{17}\! \left(x \right) = F_{1}\! \left(x \right)+F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{14}\! \left(x \right) F_{15}\! \left(x \right) F_{17}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{14}\! \left(x \right) F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{25}\! \left(x \right)
F_{23}\! \left(x \right) = F_{17}\! \left(x \right) F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{10}\! \left(x \right)+F_{13}\! \left(x \right)
F_{25}\! \left(x \right) = F_{15}\! \left(x \right) F_{6}\! \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_14(x)*F_4(x))
Eq(F_4(x), F_20(x) + F_5(x))
Eq(F_5(x), F_1(x) + F_6(x))
Eq(F_6(x), F_7(x))
Eq(F_7(x), F_14(x)*F_8(x))
Eq(F_8(x), F_5(x) + F_9(x))
Eq(F_9(x), F_10(x)*F_17(x))
Eq(F_10(x), F_11(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_13(x)*F_14(x)*F_15(x))
Eq(F_13(x), F_1(x) + F_11(x))
Eq(F_14(x), x)
Eq(F_15(x), F_1(x) + F_16(x))
Eq(F_16(x), F_14(x)*F_15(x))
Eq(F_17(x), F_1(x) + F_18(x))
Eq(F_18(x), F_19(x))
Eq(F_19(x), F_14(x)*F_15(x)*F_17(x))
Eq(F_20(x), F_21(x))
Eq(F_21(x), F_14(x)*F_22(x))
Eq(F_22(x), F_23(x) + F_25(x))
Eq(F_23(x), F_17(x)*F_24(x))
Eq(F_24(x), F_10(x) + F_13(x))
Eq(F_25(x), F_15(x)*F_6(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": 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, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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, 0, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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, 0, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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, 0, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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"}}, {"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, 0], [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, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}], "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, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "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, 0], [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, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [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, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 2], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 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, 0, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"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": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [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, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}], "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, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 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": [[0, 2], [1, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [3, 1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "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], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"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": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [3, 1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 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": [[0, 2], [1, 4]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [3, 1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 4], [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[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, 2], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [3, 1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 2]], [[2, 0]]], "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, 0, 1], "pos": [[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, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "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, 2, 1], "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_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"}}, {"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, 2, 1], "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": [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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "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]], [[2, 2]]], "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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "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], "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": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "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.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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]], [[2, 2]]], "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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[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, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[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], "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": [[0, 1], [2, 1]]}, {"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": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"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": [[0, 1], [2, 1]]}, {"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": [2, 0, 1], "pos": [[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, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 1], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 1, 2, 0], "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": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 2], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 1, 2, 0], "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": [3, 1, 2, 0], "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, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[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], "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": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 1], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 1, 2, 0], "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": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "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": [[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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 2], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 1, 2, 0], "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": [2, 0, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 0], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"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}}]}