0213_1302_1320
Counting sequence:
1, 1, 2, 6, 21, 77, 285, 1053, 3875, 14212, 52021, 190301, 696532, 2553047, 9377034, 34525630, 127466481, 471935813, 1752332838, 6525032251, 24363932865, 91214649344, 342358204917, 1288067835421, 4857138874476, 18354766803127, 69500599635905, 263661684179088, 1002016365217651, 3814395215362425, 14543088030470989, 55530012137510317, 212325520202385387, 812916264259695476, 3116212771447053121, 11959607993369744357, 45950305870609863100, 176732557817461772743, 680421955275352893683, 2622118097882168317356, 10113895174909549666335, 39044368606113722347649, 150853318704441535293612, 583299699396855965598367, 2257116753989469707151789, 8740325831465979019230200, 33868766217077242140083061, 131327878501895145609768733, 509552193498908283196285500, 1978261522454308308917028407, 7684785316289468205968901081, 29869166018399933757063418336, 116157869027889205850578763427, 451959711671646478440763261241, 1759414599967791120371916213876, 6852456884278097238694813726207, 26700952742715550878301250360445, 104088459990511177214521251893528, 405944994345802906299656213163675, 1583850962549408931212788155347137, 6182127953226496395496114206344496, 24139737729017260172212543247349551, 94295850522045239082429605690480682, 368479169779664804015990620244772382, 1440418572899190843188940406093441089, 5632681583901278113406285663866646885, 22033725020231142424279211976259879566, 86218923994443195230535248792292395563, 337485502498390079108911958478629556273, 1321422108389321671641977064132351052256, 5175569924565049659322916689797859307745, 20276890389497192761488893168720900292229, 79463489364521812436983944937945253092692, 311496878309648832026303518835130827385287, 1221395654426570909899286696651331226656969, 4790408930353334694651196905008650055264320, 18793142726783784827109267394285532880103491, 73745243611464128432061059503627506705656153, 289450081175086009119498662861233311976500438, 1136359577946867930954906419850914913337618011, 4462290049987094349867847109213133008797558745, 17526585015613566777925684410190407655619942224, 68854441132771790670055077899785903375358425927, 270557451039373115971952996992245583098567231977, 1063353702922216233840801233287590252524418039304, 4180080073556373930174679020200171823154799267135, 16435314834665031986181329961606565443744419618601, 64633260585761880742173209296647954999085974979168, 254224158303998090449870971209503288395383861957443, 1000134600800347697335475270018025014752566120025161, 3935312233583986137710164100777137319635510280316040, 15487357822491840848599182528338223511208261898637959, 60960876535340288623582819746495501919691242619552837, 239993345518076672343805689555914401810251037853771752, 944973797977427336505155353086586780221419875619415669, 3721443204405952104346629076341750531058103839166687005, 14657929356129569464712603968912897192374557258879221596, 57743358069601342146492120439847945754656941406907017783, 227508830794229308727037073768848257787288709640012801193, 896519947090131389518518250361773754493942392872010764096, 3533343320884635618137085518958374219576074289496380217795
Generating function in Maple syntax:
1/2*((-x^2+3*x-1)*(1-4*x)^(1/2)-4*x^3+7*x^2-5*x+1)/(x^2-3*x+1)/x^2
Generating function in latex syntax:
\frac{\left(-x^{2}+3 x -1\right) \sqrt{1-4 x}-4 x^{3}+7 x^{2}-5 x +1}{2 \left(x^{2}-3 x +1\right) x^{2}}
Generating function in sympy syntax:
(-2*x**3 + 7*x**2/2 - 5*x/2 + sqrt(1 - 4*x)*(-x**2 + 3*x - 1)/2 + 1/2)/(x**2*(x**2 - 3*x + 1))
Implicit equation for the generating function in Maple syntax:
x^2*(x^2-3*x+1)^2*F(x)^2+(x^2-3*x+1)*(4*x^3-7*x^2+5*x-1)*F(x)+4*x^4-13*x^3+16*x^2-7*x+1 = 0
Implicit equation for the generating function in latex syntax:
x^{2} \left(x^{2}-3 x +1\right)^{2} F \! \left(x \right)^{2}+\left(x^{2}-3 x +1\right) \left(4 x^{3}-7 x^{2}+5 x -1\right) F \! \left(x \right)+4 x^{4}-13 x^{3}+16 x^{2}-7 x +1 = 0
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 21
a(n+5) = 2*(3+2*n)/(7+n)*a(n)+2*(89+25*n)/(7+n)*a(2+n)-(63+25*n)/(7+n)*a(n+1)-(163+35*n)/(7+n)*a(n+3)+2*(29+5*n)/(7+n)*a(n+4), 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) = 6
a \! \left(4\right) = 21
a \! \left(n +5\right) = \frac{2 \left(3+2 n \right) a \! \left(n \right)}{7+n}+\frac{2 \left(89+25 n \right) a \! \left(2+n \right)}{7+n}-\frac{\left(63+25 n \right) a \! \left(n +1\right)}{7+n}-\frac{\left(163+35 n \right) a \! \left(n +3\right)}{7+n}+\frac{2 \left(29+5 n \right) a \! \left(n +4\right)}{7+n}, \quad n \geq 5
Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/331/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[12,x]*F[4,x]
F[4,x] = F[0,x]+F[5,x]
F[5,x] = F[6,x]
F[6,x] = F[12,x]*F[7,x]
F[7,x] = F[13,x]+F[8,x]
F[8,x] = F[4,x]*F[9,x]
F[9,x] = F[1,x]+F[10,x]
F[10,x] = F[11,x]
F[11,x] = F[9,x]^2*F[12,x]
F[12,x] = x
F[13,x] = F[14,x]*F[9,x]
F[14,x] = F[15,x]
F[15,x] = F[9,x]^2*F[12,x]*F[16,x]
F[16,x] = F[17,x]+F[20,x]
F[17,x] = F[1,x]+F[18,x]
F[18,x] = F[19,x]
F[19,x] = F[12,x]*F[16,x]
F[20,x] = F[18,x]*F[21,x]
F[21,x] = F[1,x]+F[22,x]
F[22,x] = F[12,x]*F[21,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{12}\! \left(x \right) F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{0}\! \left(x \right)+F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{12}\! \left(x \right) F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{13}\! \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_{10}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{9} \left(x \right)^{2} F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = x
F_{13}\! \left(x \right) = F_{14}\! \left(x \right) F_{9}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{9} \left(x \right)^{2} F_{12}\! \left(x \right) F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17}\! \left(x \right)+F_{20}\! \left(x \right)
F_{17}\! \left(x \right) = F_{1}\! \left(x \right)+F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{12}\! \left(x \right) F_{16}\! \left(x \right)
F_{20}\! \left(x \right) = F_{18}\! \left(x \right) F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{1}\! \left(x \right)+F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{12}\! \left(x \right) F_{21}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_12(x)*F_4(x))
Eq(F_4(x), F_0(x) + F_5(x))
Eq(F_5(x), F_6(x))
Eq(F_6(x), F_12(x)*F_7(x))
Eq(F_7(x), F_13(x) + F_8(x))
Eq(F_8(x), F_4(x)*F_9(x))
Eq(F_9(x), F_1(x) + F_10(x))
Eq(F_10(x), F_11(x))
Eq(F_11(x), F_12(x)*F_9(x)**2)
Eq(F_12(x), x)
Eq(F_13(x), F_14(x)*F_9(x))
Eq(F_14(x), F_15(x))
Eq(F_15(x), F_12(x)*F_16(x)*F_9(x)**2)
Eq(F_16(x), F_17(x) + F_20(x))
Eq(F_17(x), F_1(x) + F_18(x))
Eq(F_18(x), F_19(x))
Eq(F_19(x), F_12(x)*F_16(x))
Eq(F_20(x), F_18(x)*F_21(x))
Eq(F_21(x), F_1(x) + F_22(x))
Eq(F_22(x), F_12(x)*F_21(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"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], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [3, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [4, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [4, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [1, 0], [3, 2], [4, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [3, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"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], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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], "pos": [[2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 2], [2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [4, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [4, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 2], [3, 2], [3, 2], [3, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [2, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 2], [2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [2, 1, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 2], [2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 3], [3, 3], [3, 3]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 1, 0], "pos": [[3, 3], [3, 3], [4, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 3], [3, 3], [3, 3], [3, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [2, 1, 0], "pos": [[2, 2], [2, 2], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 2], [2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 2]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "idx": 0, "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "ReverseRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 3], [3, 3], [3, 3]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [2, 1, 0], "pos": [[3, 3], [3, 3], [4, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[3, 3], [3, 3], [3, 3], [3, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[4, 1], [4, 1], [4, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4]], [[1, 0]], [[2, 2]], [[3, 3], [4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 2], [2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [2, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}]}