021_0123_1230_2130_2301_3102

Counting sequence:
1, 1, 2, 5, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201

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

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

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

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

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

Explicit closed form in Maple syntax:
piecewise(n = 1,1,n = 2,2,n = 3,5,1+2*n)

Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =1 \\ 2 & n =2 \\ 5 & n =3 \\ 1+2 n & \mathit{\text{otherwise}} \end{array}\right.

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

Specification 1
Strategy pack name: point_placements
Tree: https://permpal.com/tree/7013/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[5,x]
F[4,x] = x
F[5,x] = F[10,x]+F[6,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[8,x]
F[8,x] = F[4,x]*F[9,x]
F[9,x] = F[1,x]+F[4,x]
F[10,x] = F[11,x]+F[21,x]
F[11,x] = F[12,x]
F[12,x] = F[13,x]*F[4,x]
F[13,x] = F[14,x]+F[6,x]
F[14,x] = F[11,x]+F[15,x]
F[15,x] = F[16,x]
F[16,x] = F[17,x]*F[4,x]
F[17,x] = F[18,x]
F[18,x] = F[19,x]
F[19,x] = F[20,x]*F[4,x]
F[20,x] = F[1,x]+F[18,x]
F[21,x] = F[22,x]+F[23,x]+F[37,x]
F[22,x] = 0
F[23,x] = F[24,x]*F[4,x]
F[24,x] = F[25,x]+F[29,x]
F[25,x] = F[26,x]+F[7,x]
F[26,x] = F[27,x]
F[27,x] = F[28,x]*F[4,x]
F[28,x] = F[4,x]
F[29,x] = F[30,x]+F[31,x]
F[30,x] = F[23,x]
F[31,x] = F[32,x]
F[32,x] = F[33,x]*F[4,x]
F[33,x] = F[34,x]
F[34,x] = F[35,x]
F[35,x] = F[36,x]*F[4,x]
F[36,x] = F[34,x]+F[4,x]
F[37,x] = F[38,x]*F[4,x]
F[38,x] = F[18,x]+F[34,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{5}\! \left(x \right)
F_{4}\! \left(x \right) = x
F_{5}\! \left(x \right) = F_{10}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{1}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{4}\! \left(x \right) F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{1}\! \left(x \right)+F_{4}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)+F_{21}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{6}\! \left(x \right)
F_{14}\! \left(x \right) = F_{11}\! \left(x \right)+F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17}\! \left(x \right) F_{4}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right) F_{4}\! \left(x \right)
F_{20}\! \left(x \right) = F_{1}\! \left(x \right)+F_{18}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right)+F_{23}\! \left(x \right)+F_{37}\! \left(x \right)
F_{22}\! \left(x \right) = 0
F_{23}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)+F_{29}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right)+F_{7}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right) F_{4}\! \left(x \right)
F_{28}\! \left(x \right) = F_{4}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)+F_{31}\! \left(x \right)
F_{30}\! \left(x \right) = F_{23}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right) F_{4}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)
F_{34}\! \left(x \right) = F_{35}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right) F_{4}\! \left(x \right)
F_{36}\! \left(x \right) = F_{34}\! \left(x \right)+F_{4}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right) F_{4}\! \left(x \right)
F_{38}\! \left(x \right) = F_{18}\! \left(x \right)+F_{34}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_5(x))
Eq(F_4(x), x)
Eq(F_5(x), F_10(x) + F_6(x))
Eq(F_6(x), F_1(x) + F_7(x))
Eq(F_7(x), F_8(x))
Eq(F_8(x), F_4(x)*F_9(x))
Eq(F_9(x), F_1(x) + F_4(x))
Eq(F_10(x), F_11(x) + F_21(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_13(x)*F_4(x))
Eq(F_13(x), F_14(x) + F_6(x))
Eq(F_14(x), F_11(x) + F_15(x))
Eq(F_15(x), F_16(x))
Eq(F_16(x), F_17(x)*F_4(x))
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_19(x))
Eq(F_19(x), F_20(x)*F_4(x))
Eq(F_20(x), F_1(x) + F_18(x))
Eq(F_21(x), F_22(x) + F_23(x) + F_37(x))
Eq(F_22(x), 0)
Eq(F_23(x), F_24(x)*F_4(x))
Eq(F_24(x), F_25(x) + F_29(x))
Eq(F_25(x), F_26(x) + F_7(x))
Eq(F_26(x), F_27(x))
Eq(F_27(x), F_28(x)*F_4(x))
Eq(F_28(x), F_4(x))
Eq(F_29(x), F_30(x) + F_31(x))
Eq(F_30(x), F_23(x))
Eq(F_31(x), F_32(x))
Eq(F_32(x), F_33(x)*F_4(x))
Eq(F_33(x), F_34(x))
Eq(F_34(x), F_35(x))
Eq(F_35(x), F_36(x)*F_4(x))
Eq(F_36(x), F_34(x) + F_4(x))
Eq(F_37(x), F_38(x)*F_4(x))
Eq(F_38(x), F_18(x) + F_34(x))
Pack JSON: {'expansion_strats': [[{'ignore_parent': False, 'maxreqlen': 1, 'one_cell_only': False}, {'dirs': [0, 1, 2, 3], 'ignore_parent': False, 'partial': False, 'point_only': False}]], 'inferral_strats': [{'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'workable': True}, {}], 'initial_strats': [{'ignore_parent': True, 'interleaving': None, 'tracked': False, 'unions': False, 'workable': True}], 'iterative': False, 'name': 'point_placements', 'symmetries': [], 'ver_strats': [{}, {'ignore_parent': False}, {'ignore_parent': False, 'symmetry': False}, {'ignore_parent': False, 'symmetry': False}]}
Specification JSON: {'root': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 1, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 0, 2], '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], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 1, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 0, 2], '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': [0, 1, 2, 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': [2, 1, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}], '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, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1, 2], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0]], [[1, 1]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': 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': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 3], [1, 3], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 3], [1, 3]]}, {'patt': [1, 2, 3, 0], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 2], [0, 2], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 2], [0, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 3], [1, 3], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 3], [1, 3]]}, {'patt': [1, 2, 3, 0], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 2], [0, 2], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 2], [0, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 2], [0, 2], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 2], [0, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 2], [0, 2], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 2], [0, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 2], [0, 2], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 2], [0, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 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, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 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], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0]], [[1, 1], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'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, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[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': [0, 1, 2, 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': [2, 1, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 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': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 2], [1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 3], [1, 3], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 3], [1, 3]]}, {'patt': [1, 2, 3, 0], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 2], [0, 2], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 2], [0, 2]]}, {'patt': [1, 2, 3, 0], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'tilings.strategies.verification', 'strategy_class': 'BasicVerificationStrategy'}}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'tilings.strategies.verification', 'strategy_class': 'BasicVerificationStrategy'}}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'comb_spec_searcher.strategies.strategy', 'strategy_class': 'EmptyStrategy'}}]}