0213_0231_1032_1203_1230_1320_2130

Counting sequence:
1, 1, 2, 6, 17, 44, 106, 243, 538, 1162, 2465, 5160, 10694, 21995, 44974, 91542, 185665, 375508, 757778, 1526499, 3070706, 6170066, 12386497, 24848016, 49817422, 99831259, 199980326, 400474878, 801781793, 1604909852, 3211998010, 6427520595, 12860744074, 25730715610, 51476361569, 102976880952, 205992850070, 412048946123, 824200226398, 1648566032934, 3297399980161, 6595233454756, 13191168318242, 26383471539651, 52768779391202, 105540529997474, 211085867521921, 422179513785888, 844371613840798, 1688763592692667, 3377560136665430, 6755173589622030, 13510433446815329, 27021006477493100, 54042238806419914, 108084843048135987, 216170277383001850, 432341511488029738, 864684570984815393, 1729371646700412744, 3458747346140363366, 6917501249751046571, 13835013109711950862, 27670043387104079286, 55340114552098193857, 110680274049766600564, 221360620822993449266, 442721359315017359523, 885442909022525428178, 1770886126106572026482, 3541772750667155932225, 7083546307849844913840, 14167093920669234756334, 28334189952823547490715, 56668383322101717888134, 113336772172143136661022, 226673553288680597113505, 453347121049695218903228, 906694265516118786274138, 1813388568921299945692179, 3626777199148390612995946, 7253554497491634320747386, 14507109155483912457861857, 29014218570663321826846296, 58028437561522784381182262, 116056875802937206400976779, 232113752705962191168055486, 464227507191903798340825158, 928455017263874791052466433, 1856910039187796192480463172, 3713820085915706189707272770, 7427640184031572794536422275, 14855280387803419808941067714, 29710560807547274252872235330, 59421121666775257360602793729, 118842243417171658211054010432, 237684486969645168766814766910, 475368974158213333368184702843, 950737948670651514915631320758, 1901475897914450873845079725614, 3802951796756274439883238450401

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

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

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

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

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

Explicit closed form in Maple syntax:
1/10*(11*5^(1/2)-25)*(-1/2*5^(1/2)-1/2)^(-n)+1/10*(-11*5^(1/2)-25)*(1/2*5^(1/2)-1/2)^(-n)+3*2^n+3

Explicit closed form in latex syntax:
\frac{\left(11 \sqrt{5}-25\right) \left(-\frac{\sqrt{5}}{2}-\frac{1}{2}\right)^{-n}}{10}+\frac{\left(-11 \sqrt{5}-25\right) \left(\frac{\sqrt{5}}{2}-\frac{1}{2}\right)^{-n}}{10}+3 \,2^{n}+3

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

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(n +3\right) = -2 a \! \left(n \right)-a \! \left(n +1\right)+3 a \! \left(n +2\right)+3, \quad n \geq 4

Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/23139/
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[19,x]+F[8,x]
F[8,x] = F[2,x]+F[9,x]
F[9,x] = F[10,x]*F[13,x]
F[10,x] = F[1,x]+F[11,x]
F[11,x] = F[10,x]*F[12,x]
F[12,x] = x
F[13,x] = F[1,x]+F[14,x]
F[14,x] = F[15,x]
F[15,x] = F[12,x]*F[13,x]*F[16,x]
F[16,x] = F[1,x]+F[17,x]
F[17,x] = F[18,x]
F[18,x] = F[12,x]*F[16,x]
F[19,x] = F[20,x]+F[26,x]
F[20,x] = F[16,x]*F[21,x]*F[22,x]
F[21,x] = F[1,x]+F[12,x]
F[22,x] = F[23,x]
F[23,x] = F[12,x]*F[16,x]*F[24,x]
F[24,x] = F[1,x]+F[25,x]
F[25,x] = F[22,x]
F[26,x] = F[14,x]*F[17,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_{19}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{2}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right) F_{13}\! \left(x \right)
F_{10}\! \left(x \right) = F_{1}\! \left(x \right)+F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{10}\! \left(x \right) F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = x
F_{13}\! \left(x \right) = F_{1}\! \left(x \right)+F_{14}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{12}\! \left(x \right) F_{13}\! \left(x \right) F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{1}\! \left(x \right)+F_{17}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{12}\! \left(x \right) F_{16}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)+F_{26}\! \left(x \right)
F_{20}\! \left(x \right) = F_{16}\! \left(x \right) F_{21}\! \left(x \right) F_{22}\! \left(x \right)
F_{21}\! \left(x \right) = F_{1}\! \left(x \right)+F_{12}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{12}\! \left(x \right) F_{16}\! \left(x \right) F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{1}\! \left(x \right)+F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{22}\! \left(x \right)
F_{26}\! \left(x \right) = F_{14}\! \left(x \right) F_{17}\! \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_19(x) + F_8(x))
Eq(F_8(x), F_2(x) + F_9(x))
Eq(F_9(x), F_10(x)*F_13(x))
Eq(F_10(x), F_1(x) + F_11(x))
Eq(F_11(x), F_10(x)*F_12(x))
Eq(F_12(x), x)
Eq(F_13(x), F_1(x) + F_14(x))
Eq(F_14(x), F_15(x))
Eq(F_15(x), F_12(x)*F_13(x)*F_16(x))
Eq(F_16(x), F_1(x) + F_17(x))
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_12(x)*F_16(x))
Eq(F_19(x), F_20(x) + F_26(x))
Eq(F_20(x), F_16(x)*F_21(x)*F_22(x))
Eq(F_21(x), F_1(x) + F_12(x))
Eq(F_22(x), F_23(x))
Eq(F_23(x), F_12(x)*F_16(x)*F_24(x))
Eq(F_24(x), F_1(x) + F_25(x))
Eq(F_25(x), F_22(x))
Eq(F_26(x), F_14(x)*F_17(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": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"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, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"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": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "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": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 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, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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": [[2, 1]]}, {"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, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 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": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 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": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 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"}}, {"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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [4, 3], [4, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [4, 3]]}, {"patt": [1, 0, 2], "pos": [[4, 3], [4, 3], [4, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 3], [4, 3], [4, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 4], [0, 4], [4, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [4, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[3, 0], [3, 0], [3, 0], [4, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"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, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 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]]}, {"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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [3, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[0, 4], [0, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 4], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [4, 3], [4, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [4, 3]]}, {"patt": [1, 0, 2], "pos": [[4, 3], [4, 3], [4, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[4, 3], [4, 3], [4, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 4], [0, 4], [4, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [4, 3]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[3, 0], [3, 0], [3, 0], [4, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4], [1, 1], [3, 0], [4, 3]], [[2, 2]]], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [3, 2]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [3, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 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": [[3, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, {"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": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "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], "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, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[3, 2], [3, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}, "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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}], "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": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "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, 1], "pos": [[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]]}], "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": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"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, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 3, 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, 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": [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, 1], "pos": [[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]]}], "requirements": []}, "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": [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": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_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": [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]]}, {"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 2]], [[2, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": {"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": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "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"}]}, {"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": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[2, 0], [2, 0], [2, 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, 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": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [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": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"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, 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}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [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": [[{"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"}]}, {"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, 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": []}, "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"}}, {"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}}, {"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": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}]}