021_0123_1023_1203_2013_2301

Counting sequence:
1, 1, 2, 5, 9, 14, 20, 27, 35, 44, 54, 65, 77, 90, 104, 119, 135, 152, 170, 189, 209, 230, 252, 275, 299, 324, 350, 377, 405, 434, 464, 495, 527, 560, 594, 629, 665, 702, 740, 779, 819, 860, 902, 945, 989, 1034, 1080, 1127, 1175, 1224, 1274, 1325, 1377, 1430, 1484, 1539, 1595, 1652, 1710, 1769, 1829, 1890, 1952, 2015, 2079, 2144, 2210, 2277, 2345, 2414, 2484, 2555, 2627, 2700, 2774, 2849, 2925, 3002, 3080, 3159, 3239, 3320, 3402, 3485, 3569, 3654, 3740, 3827, 3915, 4004, 4094, 4185, 4277, 4370, 4464, 4559, 4655, 4752, 4850, 4949, 5049

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

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

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

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

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

Explicit closed form in Maple syntax:
piecewise(Or(n = 0,n = 1),1,1/2*(n+2)*(-1+n))

Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =0\text{ or } n =1 \\ \frac{\left(n +2\right) \left(-1+n \right)}{2} & \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(n) = 1/2*(n+2)*(-1+n), n >= 5

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(n \right) = \frac{\left(n +2\right) \left(-1+n \right)}{2}, \quad n \geq 5

Specification 1
Strategy pack name: point_placements
Tree: https://permpal.com/tree/7123/
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[2,x]
F[11,x] = F[12,x]+F[13,x]+F[22,x]
F[12,x] = 0
F[13,x] = F[14,x]*F[4,x]
F[14,x] = F[15,x]+F[16,x]
F[15,x] = F[4,x]
F[16,x] = F[17,x]
F[17,x] = F[12,x]+F[13,x]+F[18,x]
F[18,x] = F[19,x]*F[4,x]
F[19,x] = F[20,x]
F[20,x] = F[21,x]*F[4,x]
F[21,x] = F[1,x]+F[19,x]
F[22,x] = F[23,x]*F[4,x]
F[23,x] = F[19,x]+F[24,x]
F[24,x] = F[18,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_{2}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)+F_{13}\! \left(x \right)+F_{22}\! \left(x \right)
F_{12}\! \left(x \right) = 0
F_{13}\! \left(x \right) = F_{14}\! \left(x \right) F_{4}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)+F_{16}\! \left(x \right)
F_{15}\! \left(x \right) = F_{4}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17}\! \left(x \right)
F_{17}\! \left(x \right) = F_{12}\! \left(x \right)+F_{13}\! \left(x \right)+F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right) F_{4}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right) F_{4}\! \left(x \right)
F_{21}\! \left(x \right) = F_{1}\! \left(x \right)+F_{19}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right) F_{4}\! \left(x \right)
F_{23}\! \left(x \right) = F_{19}\! \left(x \right)+F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{18}\! \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_2(x))
Eq(F_11(x), F_12(x) + F_13(x) + F_22(x))
Eq(F_12(x), 0)
Eq(F_13(x), F_14(x)*F_4(x))
Eq(F_14(x), F_15(x) + F_16(x))
Eq(F_15(x), F_4(x))
Eq(F_16(x), F_17(x))
Eq(F_17(x), F_12(x) + F_13(x) + F_18(x))
Eq(F_18(x), F_19(x)*F_4(x))
Eq(F_19(x), F_20(x))
Eq(F_20(x), F_21(x)*F_4(x))
Eq(F_21(x), F_1(x) + F_19(x))
Eq(F_22(x), F_23(x)*F_4(x))
Eq(F_23(x), F_19(x) + F_24(x))
Eq(F_24(x), F_18(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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rules': [{'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 3, 0, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 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, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [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, 2], [1, 0], [1, 2]]}, {'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, 0, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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': [], '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, 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, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [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': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 0, 1, 3], '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, 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, 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, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 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, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [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': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 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, 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]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 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]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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, 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, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [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': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 0]]}, {'patt': [1, 0, 2], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 0], [1, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 0, 1, 3], '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': [[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]]}], [{'patt': [0], 'pos': [[1, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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'}}, {'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, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [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, 2], [1, 0], [1, 2]]}, {'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, 0, 2, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [2, 0, 1, 3], '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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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': [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': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 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]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 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]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [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, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 0, 2], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 0]]}, {'patt': [0, 1, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 2, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0, 3], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [2, 0, 1, 3], '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'}}, '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': [], '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]]}], [{'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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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', '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'}}]}