0213_1032
Counting sequence:
1, 1, 2, 6, 22, 88, 366, 1552, 6652, 28696, 124310, 540040, 2350820, 10248248, 44725516, 195354368, 853829272, 3733693872, 16333556838, 71476391800, 312865382004, 1369760107576, 5998008630244, 26268304208032, 115055864102504, 503997820344464, 2207927106851580, 9673223726469136, 42382192892577128, 185702341264971696, 813710332253257688, 3565644539066580352, 15624989457000004656, 68471991785476231264, 300065523941045217926, 1315006099060707379672, 5762975697716962973460, 25256441601496000213560, 110688635852493312409844, 485108265497088003737440, 2126074370959916280515400, 9317981177467192889429456, 40838364308368719155802516, 178985389660229883957223408, 784457120367115046258370104, 3438134973294502273627724944, 15068792728512602636824961064, 66044338465948871823575271168, 289463714625062264445216330832, 1268685270279409956283215567264, 5560511520992242727338090982620, 24371179166421941432812730697136, 106816704807220987369028409373768, 468168885072603851339713727047088, 2051949019072201946184535548448616, 8993550114747373270613716826975040, 39418151760454127894696370374757904, 172767401801598533081063734607522720, 757229878355714450773524326995221304, 3318898957849459261824426467293249056, 14546570925551720547378810635785989456, 63756945227016928748163482387713205344, 279443887899095390003276653822277578416, 1224790881578714599983781932829545707776, 5368209602931675025157831321788212008032, 23528657837081228819836187660464924153024, 103125245133647713573730027249032138924742, 451994309558623399351003029479540861262488, 1981075646793737300956184964547059265058388, 8682989119464858344598535672610745557659192, 38057262713223701344310819720100934556638100, 166803793472950292592329920426626552536571616, 731095940638766557745935993921807910879712264, 3204371704057674970549678899113884402753163856, 14044667521987869239488786287134961349496138788, 61557374708240102484719304647588788009188319536, 269804235962789630719848570768433310171635693336, 1182544465205011819192649857505846364736024104400, 5183059959569405418578364139956522843155550775816, 22717211398809635754200557605993682592002732544000, 99568928990837164833577881523610740090625698974992, 436407975102336301577259365473237361885696057930016, 1912764685382396683281936462506820921975647157171700, 8383597754719882451735311514083715587795903940262160, 36745092021089366473824449919858080586246663616609944, 161052793777136694728638283786225006671704066013780624, 705890279804102500827785933638716188354140416940440632, 3093899155576976834242671073937002820759063786656277696, 13560481743430181933200620163583871357455158202262454576, 59435249975021539815524027095170413990260083730583639776, 260503209654366021433656291419809602839183205176846522952, 1141779055833223366284719271418554818250476268662389315808, 5004389149216181577499568357626652185067138132387154217136, 21934113286979565019744717281292211902672022740809016966560, 96136674880856363795601263076707127681797916912343065277904, 421364668611450743941869299383757752052993408049272617132288, 1846830943848018742684553057888931176814967420020669433560736, 8094614533733240923600758666738800308239602910817552948958528, 35478496436113502621039189029644642533250658062475536223986332, 155501378679320754496258505947772094682353675349382076729104112, 681558729406090757444489684082674935747009675813848480579057928
Generating function in Maple syntax:
(-3*x^2-x^2*(-4*x+1)^(1/2)+5*x-1)/(4*x^3-8*x^2+6*x-1)
Generating function in latex syntax:
\frac{-3 x^{2}-x^{2} \sqrt{-4 x +1}+5 x -1}{4 x^{3}-8 x^{2}+6 x -1}
Generating function in sympy syntax:
(-x**2*sqrt(1 - 4*x) - 3*x**2 + 5*x - 1)/(4*x**3 - 8*x**2 + 6*x - 1)
Implicit equation for the generating function in Maple syntax:
(4*x^3-8*x^2+6*x-1)*F(x)^2+(6*x^2-10*x+2)*F(x)+x^2+4*x-1 = 0
Implicit equation for the generating function in latex syntax:
\left(4 x^{3}-8 x^{2}+6 x -1\right) F \! \left(x \right)^{2}+\left(6 x^{2}-10 x +2\right) F \! \left(x \right)+x^{2}+4 x -1 = 0
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(n+4) = -8*(2*n+1)/(2+n)*a(n)-4*(8*n+7)/(2+n)*a(2+n)+12*(3*n+2)/(2+n)*a(n+1)+2*(5*n+7)/(2+n)*a(n+3), n >= 4
Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(n +4\right) = -\frac{8 \left(2 n +1\right) a \! \left(n \right)}{2+n}-\frac{4 \left(8 n +7\right) a \! \left(2+n \right)}{2+n}+\frac{12 \left(3 n +2\right) a \! \left(n +1\right)}{2+n}+\frac{2 \left(5 n +7\right) a \! \left(n +3\right)}{2+n}, \quad n \geq 4
Specification 1
Strategy pack name: row_and_col_placements
Tree: http://permpal.com/tree/104/
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[4,x]
F[3,x] = x
F[4,x] = F[0,x]+F[5,x]
F[5,x] = F[6,x]
F[6,x] = F[10,x]*F[3,x]*F[7,x]
F[7,x] = F[1,x]+F[8,x]
F[8,x] = F[9,x]
F[9,x] = F[7,x]^2*F[3,x]
F[10,x] = F[11,x]+F[4,x]
F[11,x] = F[12,x]
F[12,x] = F[13,x]*F[16,x]*F[3,x]
F[13,x] = F[1,x]+F[14,x]
F[14,x] = F[15,x]
F[15,x] = F[13,x]^2*F[3,x]
F[16,x] = F[17,x]+F[20,x]
F[17,x] = F[11,x]+F[18,x]
F[18,x] = F[0,x]+F[19,x]
F[19,x] = F[17,x]*F[3,x]
F[20,x] = F[21,x]
F[21,x] = F[22,x]*F[3,x]*F[30,x]*F[7,x]
F[22,x] = F[23,x]+F[28,x]
F[23,x] = F[24,x]+F[26,x]
F[24,x] = F[0,x]+F[25,x]
F[25,x] = F[23,x]*F[3,x]
F[26,x] = F[27,x]
F[27,x] = F[22,x]*F[3,x]*F[7,x]
F[28,x] = F[29,x]
F[29,x] = F[13,x]*F[16,x]*F[3,x]*F[30,x]
F[30,x] = F[1,x]+F[31,x]
F[31,x] = F[32,x]
F[32,x] = F[3,x]*F[30,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_{4}\! \left(x \right)
F_{3}\! \left(x \right) = x
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_{10}\! \left(x \right) F_{3}\! \left(x \right) F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{1}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{7} \left(x \right)^{2} F_{3}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)+F_{4}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{16}\! \left(x \right) F_{3}\! \left(x \right)
F_{13}\! \left(x \right) = F_{1}\! \left(x \right)+F_{14}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{13} \left(x \right)^{2} F_{3}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17}\! \left(x \right)+F_{20}\! \left(x \right)
F_{17}\! \left(x \right) = F_{11}\! \left(x \right)+F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{0}\! \left(x \right)+F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{17}\! \left(x \right) F_{3}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right) F_{3}\! \left(x \right) F_{30}\! \left(x \right) F_{7}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{28}\! \left(x \right)
F_{23}\! \left(x \right) = F_{24}\! \left(x \right)+F_{26}\! \left(x \right)
F_{24}\! \left(x \right) = F_{0}\! \left(x \right)+F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{23}\! \left(x \right) F_{3}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{22}\! \left(x \right) F_{3}\! \left(x \right) F_{7}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{13}\! \left(x \right) F_{16}\! \left(x \right) F_{3}\! \left(x \right) F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{1}\! \left(x \right)+F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{3}\! \left(x \right) F_{30}\! \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)*F_4(x))
Eq(F_3(x), x)
Eq(F_4(x), F_0(x) + F_5(x))
Eq(F_5(x), F_6(x))
Eq(F_6(x), F_10(x)*F_3(x)*F_7(x))
Eq(F_7(x), F_1(x) + F_8(x))
Eq(F_8(x), F_9(x))
Eq(F_9(x), F_3(x)*F_7(x)**2)
Eq(F_10(x), F_11(x) + F_4(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_13(x)*F_16(x)*F_3(x))
Eq(F_13(x), F_1(x) + F_14(x))
Eq(F_14(x), F_15(x))
Eq(F_15(x), F_13(x)**2*F_3(x))
Eq(F_16(x), F_17(x) + F_20(x))
Eq(F_17(x), F_11(x) + F_18(x))
Eq(F_18(x), F_0(x) + F_19(x))
Eq(F_19(x), F_17(x)*F_3(x))
Eq(F_20(x), F_21(x))
Eq(F_21(x), F_22(x)*F_3(x)*F_30(x)*F_7(x))
Eq(F_22(x), F_23(x) + F_28(x))
Eq(F_23(x), F_24(x) + F_26(x))
Eq(F_24(x), F_0(x) + F_25(x))
Eq(F_25(x), F_23(x)*F_3(x))
Eq(F_26(x), F_27(x))
Eq(F_27(x), F_22(x)*F_3(x)*F_7(x))
Eq(F_28(x), F_29(x))
Eq(F_29(x), F_13(x)*F_16(x)*F_3(x)*F_30(x))
Eq(F_30(x), F_1(x) + F_31(x))
Eq(F_31(x), F_32(x))
Eq(F_32(x), F_3(x)*F_30(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": true, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}]], "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": "row_and_col_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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [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}}, {"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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [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], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 4], [3, 0], [3, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 4], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 4], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 2], [3, 4]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [5, 0], [5, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [5, 2], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[5, 0], [5, 2], [5, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[5, 2], [5, 2], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 2], [5, 0], [5, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 2], [5, 0]]}], "requirements": [[{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [3, 0], [5, 0], [5, 2]], [[1, 4]], [[2, 3]], [[4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 3], [3, 0], [3, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 3], [3, 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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [4, 0], [4, 2]], [[1, 3]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 5]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[4, 5], [4, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 5], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 5], [4, 0], [4, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 5], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 5], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4]], [[1, 3]], [[2, 0], [4, 0], [4, 2], [4, 5]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [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], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 4], [3, 0], [3, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 4], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 4], [3, 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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [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}}]}, {"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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [5, 0], [5, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [5, 2], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[5, 0], [5, 2], [5, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[5, 2], [5, 2], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 2], [5, 0], [5, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 2], [5, 0]]}], "requirements": [[{"patt": [0], "pos": [[4, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 5]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[4, 5], [4, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 5], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 5], [4, 0], [4, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 5], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 5], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 3], [3, 0], [3, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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": [[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]]}], "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]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [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]]}], "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]]}], "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": [{"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]]}], "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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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}}]}]}
Specification 2
Strategy pack name: row_and_col_placements_req_corrob
Tree: http://permpal.com/tree/105/
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[9,x]
F[3,x] = F[0,x]+F[4,x]
F[4,x] = F[5,x]
F[5,x] = F[10,x]*F[6,x]*F[9,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[8,x]
F[8,x] = F[6,x]^2*F[9,x]
F[9,x] = x
F[10,x] = F[11,x]+F[3,x]
F[11,x] = F[12,x]
F[12,x] = F[13,x]*F[30,x]*F[9,x]
F[13,x] = F[14,x]+F[17,x]
F[14,x] = F[11,x]+F[15,x]
F[15,x] = F[0,x]+F[16,x]
F[16,x] = F[14,x]*F[9,x]
F[17,x] = F[18,x]
F[18,x] = F[19,x]*F[22,x]*F[6,x]*F[9,x]
F[19,x] = F[1,x]+F[20,x]
F[20,x] = F[21,x]
F[21,x] = F[19,x]*F[9,x]
F[22,x] = F[23,x]+F[28,x]
F[23,x] = F[24,x]+F[26,x]
F[24,x] = F[0,x]+F[25,x]
F[25,x] = F[23,x]*F[9,x]
F[26,x] = F[27,x]
F[27,x] = F[22,x]*F[6,x]*F[9,x]
F[28,x] = F[29,x]
F[29,x] = F[13,x]*F[19,x]*F[30,x]*F[9,x]
F[30,x] = F[1,x]+F[31,x]
F[31,x] = F[32,x]
F[32,x] = F[30,x]^2*F[9,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_{9}\! \left(x \right)
F_{3}\! \left(x \right) = F_{0}\! \left(x \right)+F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{10}\! \left(x \right) F_{6}\! \left(x \right) F_{9}\! \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_{6} \left(x \right)^{2} F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = x
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)+F_{3}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{30}\! \left(x \right) F_{9}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{17}\! \left(x \right)
F_{14}\! \left(x \right) = F_{11}\! \left(x \right)+F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{0}\! \left(x \right)+F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{14}\! \left(x \right) F_{9}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right) F_{22}\! \left(x \right) F_{6}\! \left(x \right) F_{9}\! \left(x \right)
F_{19}\! \left(x \right) = F_{1}\! \left(x \right)+F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{19}\! \left(x \right) F_{9}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{28}\! \left(x \right)
F_{23}\! \left(x \right) = F_{24}\! \left(x \right)+F_{26}\! \left(x \right)
F_{24}\! \left(x \right) = F_{0}\! \left(x \right)+F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{23}\! \left(x \right) F_{9}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{22}\! \left(x \right) F_{6}\! \left(x \right) F_{9}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{13}\! \left(x \right) F_{19}\! \left(x \right) F_{30}\! \left(x \right) F_{9}\! \left(x \right)
F_{30}\! \left(x \right) = F_{1}\! \left(x \right)+F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{30} \left(x \right)^{2} F_{9}\! \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)*F_9(x))
Eq(F_3(x), F_0(x) + F_4(x))
Eq(F_4(x), F_5(x))
Eq(F_5(x), F_10(x)*F_6(x)*F_9(x))
Eq(F_6(x), F_1(x) + F_7(x))
Eq(F_7(x), F_8(x))
Eq(F_8(x), F_6(x)**2*F_9(x))
Eq(F_9(x), x)
Eq(F_10(x), F_11(x) + F_3(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_13(x)*F_30(x)*F_9(x))
Eq(F_13(x), F_14(x) + F_17(x))
Eq(F_14(x), F_11(x) + F_15(x))
Eq(F_15(x), F_0(x) + F_16(x))
Eq(F_16(x), F_14(x)*F_9(x))
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_19(x)*F_22(x)*F_6(x)*F_9(x))
Eq(F_19(x), F_1(x) + F_20(x))
Eq(F_20(x), F_21(x))
Eq(F_21(x), F_19(x)*F_9(x))
Eq(F_22(x), F_23(x) + F_28(x))
Eq(F_23(x), F_24(x) + F_26(x))
Eq(F_24(x), F_0(x) + F_25(x))
Eq(F_25(x), F_23(x)*F_9(x))
Eq(F_26(x), F_27(x))
Eq(F_27(x), F_22(x)*F_6(x)*F_9(x))
Eq(F_28(x), F_29(x))
Eq(F_29(x), F_13(x)*F_19(x)*F_30(x)*F_9(x))
Eq(F_30(x), F_1(x) + F_31(x))
Eq(F_31(x), F_32(x))
Eq(F_32(x), F_30(x)**2*F_9(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": true, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}]], "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}, {"class_module": "tilings.strategies.requirement_insertion", "ignore_parent": true, "strategy_class": "RequirementCorroborationFactory"}], "iterative": false, "name": "row_and_col_placements_req_corrob", "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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [4, 0], [4, 2]], [[1, 3]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 3], [3, 0], [3, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 3], [3, 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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 1]]}], "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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 5]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[4, 5], [4, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 5], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 5], [4, 0], [4, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 5], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 5], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 4]], [[1, 3]], [[2, 0], [4, 0], [4, 2], [4, 5]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [5, 0], [5, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [5, 2], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[5, 0], [5, 2], [5, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[5, 2], [5, 2], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 2], [5, 0], [5, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 2], [5, 0]]}], "requirements": [[{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [3, 0], [5, 0], [5, 2]], [[1, 4]], [[2, 3]], [[4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [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], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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], [2, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 4], [3, 0], [3, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 4], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 4], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 2], [3, 4]], [[2, 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], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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}}]}, {"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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 5]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[2, 5]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[4, 2], [4, 5]]}, {"patt": [1, 0], "pos": [[0, 4], [0, 4]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[4, 5], [4, 5]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 5], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 5], [4, 0], [4, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 5], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 5], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 3], [3, 0], [3, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [5, 0], [5, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [5, 2], [5, 2]]}, {"patt": [0, 2, 1], "pos": [[5, 0], [5, 2], [5, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [5, 0]]}, {"patt": [1, 0, 2], "pos": [[5, 2], [5, 2], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 0], [5, 0], [5, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[5, 0], [5, 2], [5, 0], [5, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [5, 0], [5, 2], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 0], [5, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[5, 0], [5, 0], [5, 2], [5, 0]]}], "requirements": [[{"patt": [0], "pos": [[4, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 4]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 4], [3, 0], [3, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 4], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 4], [3, 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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": [[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]]}], "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]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [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]]}], "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]]}], "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": [{"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]]}], "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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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"}]}]}
Specification 3
Strategy pack name: insertion_row_and_col_placements
Tree: http://permpal.com/tree/106/
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[6,x]+F[9,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[8,x]
F[8,x] = F[6,x]^2*F[4,x]
F[9,x] = F[10,x]+F[2,x]
F[10,x] = F[11,x]
F[11,x] = F[12,x]*F[4,x]*F[6,x]
F[12,x] = F[13,x]+F[9,x]
F[13,x] = F[14,x]+F[21,x]
F[14,x] = F[15,x]*F[18,x]
F[15,x] = F[16,x]
F[16,x] = F[17,x]^2*F[4,x]
F[17,x] = F[1,x]+F[15,x]
F[18,x] = F[1,x]+F[19,x]
F[19,x] = F[20,x]
F[20,x] = F[18,x]*F[4,x]
F[21,x] = F[22,x]+F[54,x]
F[22,x] = F[23,x]
F[23,x] = F[24,x]*F[4,x]
F[24,x] = F[25,x]+F[42,x]
F[25,x] = F[26,x]+F[27,x]
F[26,x] = F[7,x]+F[9,x]
F[27,x] = F[28,x]+F[34,x]
F[28,x] = F[29,x]
F[29,x] = F[30,x]*F[4,x]*F[6,x]
F[30,x] = F[31,x]+F[32,x]
F[31,x] = F[19,x]*F[6,x]
F[32,x] = F[18,x]*F[33,x]
F[33,x] = F[19,x]+F[28,x]
F[34,x] = F[35,x]+F[36,x]
F[35,x] = F[19,x]*F[2,x]
F[36,x] = F[37,x]+F[38,x]+F[40,x]
F[37,x] = 0
F[38,x] = F[39,x]*F[4,x]
F[39,x] = F[10,x]+F[36,x]
F[40,x] = F[41,x]
F[41,x] = F[12,x]*F[33,x]*F[4,x]
F[42,x] = F[22,x]+F[43,x]
F[43,x] = F[44,x]
F[44,x] = F[4,x]*F[45,x]
F[45,x] = F[42,x]+F[46,x]
F[46,x] = F[47,x]+F[48,x]
F[47,x] = F[18,x]*F[22,x]
F[48,x] = F[49,x]+F[51,x]
F[49,x] = F[50,x]
F[50,x] = F[15,x]*F[24,x]*F[4,x]
F[51,x] = F[52,x]
F[52,x] = F[17,x]*F[4,x]*F[53,x]
F[53,x] = F[43,x]+F[51,x]
F[54,x] = F[55,x]
F[55,x] = F[4,x]*F[56,x]
F[56,x] = F[47,x]+F[57,x]
F[57,x] = F[58,x]+F[61,x]
F[58,x] = F[49,x]+F[59,x]
F[59,x] = F[60,x]
F[60,x] = F[15,x]^2
F[61,x] = F[51,x]+F[62,x]
F[62,x] = F[63,x]
F[63,x] = F[15,x]*F[64,x]
F[64,x] = F[65,x]
F[65,x] = F[4,x]*F[66,x]
F[66,x] = F[67,x]+F[68,x]
F[67,x] = F[15,x]*F[18,x]
F[68,x] = F[17,x]*F[69,x]
F[69,x] = F[15,x]+F[64,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_{6}\! \left(x \right)+F_{9}\! \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_{6} \left(x \right)^{2} F_{4}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right)+F_{2}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right) F_{4}\! \left(x \right) F_{6}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right)+F_{9}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{21}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right) F_{18}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17} \left(x \right)^{2} F_{4}\! \left(x \right)
F_{17}\! \left(x \right) = F_{1}\! \left(x \right)+F_{15}\! \left(x \right)
F_{18}\! \left(x \right) = F_{1}\! \left(x \right)+F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{18}\! \left(x \right) F_{4}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right)+F_{54}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)+F_{42}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right)+F_{27}\! \left(x \right)
F_{26}\! \left(x \right) = F_{7}\! \left(x \right)+F_{9}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right)+F_{34}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right) F_{4}\! \left(x \right) F_{6}\! \left(x \right)
F_{30}\! \left(x \right) = F_{31}\! \left(x \right)+F_{32}\! \left(x \right)
F_{31}\! \left(x \right) = F_{19}\! \left(x \right) F_{6}\! \left(x \right)
F_{32}\! \left(x \right) = F_{18}\! \left(x \right) F_{33}\! \left(x \right)
F_{33}\! \left(x \right) = F_{19}\! \left(x \right)+F_{28}\! \left(x \right)
F_{34}\! \left(x \right) = F_{35}\! \left(x \right)+F_{36}\! \left(x \right)
F_{35}\! \left(x \right) = F_{19}\! \left(x \right) F_{2}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)+F_{38}\! \left(x \right)+F_{40}\! \left(x \right)
F_{37}\! \left(x \right) = 0
F_{38}\! \left(x \right) = F_{39}\! \left(x \right) F_{4}\! \left(x \right)
F_{39}\! \left(x \right) = F_{10}\! \left(x \right)+F_{36}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = F_{12}\! \left(x \right) F_{33}\! \left(x \right) F_{4}\! \left(x \right)
F_{42}\! \left(x \right) = F_{22}\! \left(x \right)+F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = F_{4}\! \left(x \right) F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{42}\! \left(x \right)+F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{47}\! \left(x \right)+F_{48}\! \left(x \right)
F_{47}\! \left(x \right) = F_{18}\! \left(x \right) F_{22}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)+F_{51}\! \left(x \right)
F_{49}\! \left(x \right) = F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{15}\! \left(x \right) F_{24}\! \left(x \right) F_{4}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{17}\! \left(x \right) F_{4}\! \left(x \right) F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = F_{43}\! \left(x \right)+F_{51}\! \left(x \right)
F_{54}\! \left(x \right) = F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{4}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = F_{47}\! \left(x \right)+F_{57}\! \left(x \right)
F_{57}\! \left(x \right) = F_{58}\! \left(x \right)+F_{61}\! \left(x \right)
F_{58}\! \left(x \right) = F_{49}\! \left(x \right)+F_{59}\! \left(x \right)
F_{59}\! \left(x \right) = F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{15} \left(x \right)^{2}
F_{61}\! \left(x \right) = F_{51}\! \left(x \right)+F_{62}\! \left(x \right)
F_{62}\! \left(x \right) = F_{63}\! \left(x \right)
F_{63}\! \left(x \right) = F_{15}\! \left(x \right) F_{64}\! \left(x \right)
F_{64}\! \left(x \right) = F_{65}\! \left(x \right)
F_{65}\! \left(x \right) = F_{4}\! \left(x \right) F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{67}\! \left(x \right)+F_{68}\! \left(x \right)
F_{67}\! \left(x \right) = F_{15}\! \left(x \right) F_{18}\! \left(x \right)
F_{68}\! \left(x \right) = F_{17}\! \left(x \right) F_{69}\! \left(x \right)
F_{69}\! \left(x \right) = F_{15}\! \left(x \right)+F_{64}\! \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_6(x) + F_9(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_6(x)**2)
Eq(F_9(x), F_10(x) + F_2(x))
Eq(F_10(x), F_11(x))
Eq(F_11(x), F_12(x)*F_4(x)*F_6(x))
Eq(F_12(x), F_13(x) + F_9(x))
Eq(F_13(x), F_14(x) + F_21(x))
Eq(F_14(x), F_15(x)*F_18(x))
Eq(F_15(x), F_16(x))
Eq(F_16(x), F_17(x)**2*F_4(x))
Eq(F_17(x), F_1(x) + F_15(x))
Eq(F_18(x), F_1(x) + F_19(x))
Eq(F_19(x), F_20(x))
Eq(F_20(x), F_18(x)*F_4(x))
Eq(F_21(x), F_22(x) + F_54(x))
Eq(F_22(x), F_23(x))
Eq(F_23(x), F_24(x)*F_4(x))
Eq(F_24(x), F_25(x) + F_42(x))
Eq(F_25(x), F_26(x) + F_27(x))
Eq(F_26(x), F_7(x) + F_9(x))
Eq(F_27(x), F_28(x) + F_34(x))
Eq(F_28(x), F_29(x))
Eq(F_29(x), F_30(x)*F_4(x)*F_6(x))
Eq(F_30(x), F_31(x) + F_32(x))
Eq(F_31(x), F_19(x)*F_6(x))
Eq(F_32(x), F_18(x)*F_33(x))
Eq(F_33(x), F_19(x) + F_28(x))
Eq(F_34(x), F_35(x) + F_36(x))
Eq(F_35(x), F_19(x)*F_2(x))
Eq(F_36(x), F_37(x) + F_38(x) + F_40(x))
Eq(F_37(x), 0)
Eq(F_38(x), F_39(x)*F_4(x))
Eq(F_39(x), F_10(x) + F_36(x))
Eq(F_40(x), F_41(x))
Eq(F_41(x), F_12(x)*F_33(x)*F_4(x))
Eq(F_42(x), F_22(x) + F_43(x))
Eq(F_43(x), F_44(x))
Eq(F_44(x), F_4(x)*F_45(x))
Eq(F_45(x), F_42(x) + F_46(x))
Eq(F_46(x), F_47(x) + F_48(x))
Eq(F_47(x), F_18(x)*F_22(x))
Eq(F_48(x), F_49(x) + F_51(x))
Eq(F_49(x), F_50(x))
Eq(F_50(x), F_15(x)*F_24(x)*F_4(x))
Eq(F_51(x), F_52(x))
Eq(F_52(x), F_17(x)*F_4(x)*F_53(x))
Eq(F_53(x), F_43(x) + F_51(x))
Eq(F_54(x), F_55(x))
Eq(F_55(x), F_4(x)*F_56(x))
Eq(F_56(x), F_47(x) + F_57(x))
Eq(F_57(x), F_58(x) + F_61(x))
Eq(F_58(x), F_49(x) + F_59(x))
Eq(F_59(x), F_60(x))
Eq(F_60(x), F_15(x)**2)
Eq(F_61(x), F_51(x) + F_62(x))
Eq(F_62(x), F_63(x))
Eq(F_63(x), F_15(x)*F_64(x))
Eq(F_64(x), F_65(x))
Eq(F_65(x), F_4(x)*F_66(x))
Eq(F_66(x), F_67(x) + F_68(x))
Eq(F_67(x), F_15(x)*F_18(x))
Eq(F_68(x), F_17(x)*F_69(x))
Eq(F_69(x), F_15(x) + F_64(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": true, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}]], "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}, {"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": true, "maxreqlen": 1, "one_cell_only": true, "strategy_class": "CellInsertionFactory"}], "iterative": false, "name": "insertion_row_and_col_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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [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, 2], "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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "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": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 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": [[{"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": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1], [3, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [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], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}]]}, "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [[3, 0], [3, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[3, 3]]}], [{"patt": [0], "pos": [[4, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [3, 0], [3, 3], [4, 0]], [[2, 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], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "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]]}], "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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 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": [[{"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, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 0]], [[1, 3]]], "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 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]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2]], [[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": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[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]]}], "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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [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], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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], [1, 1]]}, {"patt": [1, 0], "pos": [[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": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 1]], [[2, 0], [2, 2], [3, 0], [3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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], "pos": [[2, 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], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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], [1, 1]]}, {"patt": [1, 0], "pos": [[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": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 1]]}, {"patt": [1, 0], "pos": [[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": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "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], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "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": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 3], [4, 0]], [[2, 1]], [[3, 2]]], "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 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], "pos": [[2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "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": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "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, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, {"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": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], "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], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 2], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [1, 3]], [[2, 0], [4, 0], [4, 2]], [[3, 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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[{"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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 2], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 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], [0, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"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": [{"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], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}, {"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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"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": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"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": [1, 0], "pos": [[2, 3], [2, 3]]}, {"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": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[3, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [[3, 0], [3, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[3, 3]]}], [{"patt": [0], "pos": [[4, 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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"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": [1, 0], "pos": [[2, 3], [2, 3]]}, {"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": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[2, 3]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"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": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 1]]}], "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, 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, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}], "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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}], "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, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "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], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"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], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 3]]}], [{"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, 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], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}], [{"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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 2], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[4, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[3, 0]]}], [{"patt": [0], "pos": [[2, 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", "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"}}, {"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]]}], "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]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "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]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "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]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [0, 2, 1], "pos": [[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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "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, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "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": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "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": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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": [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [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]]}], "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]]}], "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]]}], "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]]}], "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]]}], "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}}]}]}
Specification 4
Strategy pack name: point_placements_req_corrob
Tree: http://permpal.com/tree/107/
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[0,x]+F[6,x]
F[6,x] = F[7,x]
F[7,x] = F[4,x]*F[8,x]
F[8,x] = F[39,x]+F[9,x]
F[9,x] = F[10,x]+F[5,x]
F[10,x] = F[11,x]
F[11,x] = F[12,x]*F[4,x]
F[12,x] = F[13,x]+F[9,x]
F[13,x] = F[14,x]
F[14,x] = F[15,x]*F[4,x]*F[42,x]
F[15,x] = 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[17,x]*F[4,x]
F[20,x] = F[21,x]+F[31,x]
F[21,x] = F[22,x]
F[22,x] = F[23,x]*F[26,x]*F[4,x]
F[23,x] = F[1,x]+F[24,x]
F[24,x] = F[25,x]
F[25,x] = F[23,x]^2*F[4,x]
F[26,x] = F[27,x]+F[28,x]
F[27,x] = F[0,x]+F[21,x]
F[28,x] = F[29,x]+F[6,x]
F[29,x] = F[30,x]
F[30,x] = F[13,x]*F[4,x]
F[31,x] = F[32,x]
F[32,x] = F[33,x]*F[4,x]
F[33,x] = F[34,x]
F[34,x] = F[23,x]*F[35,x]*F[4,x]
F[35,x] = F[36,x]+F[41,x]
F[36,x] = F[33,x]+F[37,x]
F[37,x] = F[38,x]+F[39,x]
F[38,x] = F[0,x]*F[17,x]
F[39,x] = F[40,x]
F[40,x] = F[17,x]*F[35,x]*F[4,x]
F[41,x] = F[17,x]*F[28,x]
F[42,x] = F[1,x]+F[43,x]
F[43,x] = F[44,x]
F[44,x] = F[42,x]^2*F[4,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_{0}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{4}\! \left(x \right) F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{39}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right)+F_{5}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right) F_{4}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right)+F_{9}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right) F_{4}\! \left(x \right) F_{42}\! \left(x \right)
F_{15}\! \left(x \right) = 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_{17}\! \left(x \right) F_{4}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right)+F_{31}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right) F_{26}\! \left(x \right) F_{4}\! \left(x \right)
F_{23}\! \left(x \right) = F_{1}\! \left(x \right)+F_{24}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{23} \left(x \right)^{2} F_{4}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)+F_{28}\! \left(x \right)
F_{27}\! \left(x \right) = F_{0}\! \left(x \right)+F_{21}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)+F_{6}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right) F_{4}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)
F_{34}\! \left(x \right) = F_{23}\! \left(x \right) F_{35}\! \left(x \right) F_{4}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right)+F_{41}\! \left(x \right)
F_{36}\! \left(x \right) = F_{33}\! \left(x \right)+F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right)+F_{39}\! \left(x \right)
F_{38}\! \left(x \right) = F_{0}\! \left(x \right) F_{17}\! \left(x \right)
F_{39}\! \left(x \right) = F_{40}\! \left(x \right)
F_{40}\! \left(x \right) = F_{17}\! \left(x \right) F_{35}\! \left(x \right) F_{4}\! \left(x \right)
F_{41}\! \left(x \right) = F_{17}\! \left(x \right) F_{28}\! \left(x \right)
F_{42}\! \left(x \right) = F_{1}\! \left(x \right)+F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = F_{42} \left(x \right)^{2} F_{4}\! \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_0(x) + F_6(x))
Eq(F_6(x), F_7(x))
Eq(F_7(x), F_4(x)*F_8(x))
Eq(F_8(x), F_39(x) + F_9(x))
Eq(F_9(x), F_10(x) + F_5(x))
Eq(F_10(x), F_11(x))
Eq(F_11(x), F_12(x)*F_4(x))
Eq(F_12(x), F_13(x) + F_9(x))
Eq(F_13(x), F_14(x))
Eq(F_14(x), F_15(x)*F_4(x)*F_42(x))
Eq(F_15(x), F_12(x) + F_16(x))
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_17(x)*F_4(x))
Eq(F_20(x), F_21(x) + F_31(x))
Eq(F_21(x), F_22(x))
Eq(F_22(x), F_23(x)*F_26(x)*F_4(x))
Eq(F_23(x), F_1(x) + F_24(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_23(x)**2*F_4(x))
Eq(F_26(x), F_27(x) + F_28(x))
Eq(F_27(x), F_0(x) + F_21(x))
Eq(F_28(x), F_29(x) + F_6(x))
Eq(F_29(x), F_30(x))
Eq(F_30(x), F_13(x)*F_4(x))
Eq(F_31(x), F_32(x))
Eq(F_32(x), F_33(x)*F_4(x))
Eq(F_33(x), F_34(x))
Eq(F_34(x), F_23(x)*F_35(x)*F_4(x))
Eq(F_35(x), F_36(x) + F_41(x))
Eq(F_36(x), F_33(x) + F_37(x))
Eq(F_37(x), F_38(x) + F_39(x))
Eq(F_38(x), F_0(x)*F_17(x))
Eq(F_39(x), F_40(x))
Eq(F_40(x), F_17(x)*F_35(x)*F_4(x))
Eq(F_41(x), F_17(x)*F_28(x))
Eq(F_42(x), F_1(x) + F_43(x))
Eq(F_43(x), F_44(x))
Eq(F_44(x), F_4(x)*F_42(x)**2)
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}, {"class_module": "tilings.strategies.requirement_insertion", "ignore_parent": true, "strategy_class": "RequirementCorroborationFactory"}], "iterative": false, "name": "point_placements_req_corrob", "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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [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": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [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}}, {"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, 0, 3, 2], "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, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [1, 0], "pos": [[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": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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], [1, 1]]}, {"patt": [1, 0], "pos": [[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": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 0], [2, 1], [2, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 3], [4, 3]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 3], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 3], [4, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 3], [4, 3], [4, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 1], [4, 0], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 3], [4, 0], [4, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 3], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 3], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 0], [4, 0], [4, 1], [4, 3]], [[1, 4]], [[3, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "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": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 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], "pos": [[0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 0, 3, 2], "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], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 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": [[{"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": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [1, 1], [3, 0]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"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": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [[3, 0], [3, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 4], [4, 0], [4, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"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": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 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], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "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, 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": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 2], [2, 0], [2, 2], [2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 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": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"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": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [[3, 0], [3, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [3, 0], [3, 4], [4, 0], [4, 2]], [[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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [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, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}], "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [[3, 0], [3, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 1], [2, 0], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 1], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 3], [3, 3], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 3], [3, 0], [3, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 2]]}], "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": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[2, 0], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 3], [4, 3]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 3], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 3], [4, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 3], [4, 3], [4, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 1], [4, 0], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 3], [4, 0], [4, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [4, 0], [4, 3], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 1], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 3], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [3, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 3], [3, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[3, 3], [3, 3], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 1], [3, 0], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 3], [3, 0], [3, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 3], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 1], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 3], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"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": [[2, 0], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [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}}]}, {"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": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 1]]}], "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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"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": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 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": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [[1, 0], [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, 0, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [4, 2]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 4], [3, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 4], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 2], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [4, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[4, 2], [4, 2], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [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": [[3, 0], [3, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[4, 0], [4, 2], [4, 0], [4, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [4, 0], [4, 2], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[4, 0], [4, 0], [4, 2], [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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 2]]}, {"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": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[3, 0], [3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [3, 0], [3, 2], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[3, 0], [3, 0], [3, 2], [3, 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}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 2], [2, 0], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[2, 0], [2, 3], [2, 0], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 2], [2, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[2, 0], [2, 0], [2, 3], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [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": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}], "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": [[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]]}], "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]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [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]]}], "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]]}], "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": [{"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]]}], "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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [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, 0, 3, 2], "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": [[1, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}]}
Specification 5
Strategy pack name: point_and_row_and_col_placements
Tree: http://permpal.com/tree/108/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[16,x]*F[3,x]
F[3,x] = F[0,x]+F[4,x]
F[4,x] = F[5,x]
F[5,x] = F[16,x]*F[6,x]
F[6,x] = F[50,x]+F[7,x]
F[7,x] = F[34,x]+F[8,x]
F[8,x] = F[0,x]+F[9,x]
F[9,x] = F[10,x]
F[10,x] = F[11,x]*F[16,x]*F[27,x]
F[11,x] = F[12,x]+F[3,x]
F[12,x] = F[13,x]*F[16,x]
F[13,x] = F[14,x]+F[24,x]
F[14,x] = F[15,x]+F[17,x]+F[3,x]
F[15,x] = F[14,x]*F[16,x]
F[16,x] = x
F[17,x] = F[18,x]
F[18,x] = F[16,x]*F[19,x]*F[20,x]*F[7,x]
F[19,x] = F[20,x]+F[22,x]
F[20,x] = F[1,x]+F[21,x]
F[21,x] = F[16,x]*F[19,x]
F[22,x] = F[23,x]
F[23,x] = F[16,x]*F[19,x]*F[20,x]
F[24,x] = F[25,x]
F[25,x] = F[11,x]*F[16,x]*F[26,x]*F[31,x]
F[26,x] = F[27,x]+F[29,x]
F[27,x] = F[1,x]+F[28,x]
F[28,x] = F[16,x]*F[26,x]
F[29,x] = F[30,x]
F[30,x] = F[16,x]*F[26,x]*F[27,x]
F[31,x] = F[1,x]+F[32,x]
F[32,x] = F[33,x]
F[33,x] = F[16,x]*F[31,x]
F[34,x] = F[16,x]*F[35,x]
F[35,x] = F[36,x]+F[40,x]
F[36,x] = F[37,x]+F[39,x]+F[8,x]
F[37,x] = F[38,x]
F[38,x] = F[11,x]*F[16,x]*F[26,x]*F[27,x]
F[39,x] = F[16,x]*F[36,x]
F[40,x] = F[41,x]
F[41,x] = F[16,x]*F[31,x]*F[42,x]
F[42,x] = F[43,x]+F[44,x]+F[45,x]+F[8,x]
F[43,x] = F[16,x]*F[42,x]
F[44,x] = F[16,x]*F[35,x]
F[45,x] = F[46,x]
F[46,x] = F[16,x]*F[47,x]*F[7,x]
F[47,x] = F[19,x]+F[48,x]
F[48,x] = F[49,x]
F[49,x] = F[19,x]^2*F[16,x]
F[50,x] = F[51,x]
F[51,x] = F[20,x]^2*F[16,x]*F[7,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_{16}\! \left(x \right) F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{0}\! \left(x \right)+F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{16}\! \left(x \right) F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{50}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{34}\! \left(x \right)+F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{0}\! \left(x \right)+F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right) F_{16}\! \left(x \right) F_{27}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)+F_{3}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{16}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{24}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)+F_{17}\! \left(x \right)+F_{3}\! \left(x \right)
F_{15}\! \left(x \right) = F_{14}\! \left(x \right) F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = x
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)
F_{18}\! \left(x \right) = F_{16}\! \left(x \right) F_{19}\! \left(x \right) F_{20}\! \left(x \right) F_{7}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)+F_{22}\! \left(x \right)
F_{20}\! \left(x \right) = F_{1}\! \left(x \right)+F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{16}\! \left(x \right) F_{19}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)
F_{23}\! \left(x \right) = F_{16}\! \left(x \right) F_{19}\! \left(x \right) F_{20}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{11}\! \left(x \right) F_{16}\! \left(x \right) F_{26}\! \left(x \right) F_{31}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)+F_{29}\! \left(x \right)
F_{27}\! \left(x \right) = F_{1}\! \left(x \right)+F_{28}\! \left(x \right)
F_{28}\! \left(x \right) = F_{16}\! \left(x \right) F_{26}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{16}\! \left(x \right) F_{26}\! \left(x \right) F_{27}\! \left(x \right)
F_{31}\! \left(x \right) = F_{1}\! \left(x \right)+F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right)
F_{33}\! \left(x \right) = F_{16}\! \left(x \right) F_{31}\! \left(x \right)
F_{34}\! \left(x \right) = F_{16}\! \left(x \right) F_{35}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right)+F_{40}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)+F_{39}\! \left(x \right)+F_{8}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right)
F_{38}\! \left(x \right) = F_{11}\! \left(x \right) F_{16}\! \left(x \right) F_{26}\! \left(x \right) F_{27}\! \left(x \right)
F_{39}\! \left(x \right) = F_{16}\! \left(x \right) F_{36}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = F_{16}\! \left(x \right) F_{31}\! \left(x \right) F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{43}\! \left(x \right)+F_{44}\! \left(x \right)+F_{45}\! \left(x \right)+F_{8}\! \left(x \right)
F_{43}\! \left(x \right) = F_{16}\! \left(x \right) F_{42}\! \left(x \right)
F_{44}\! \left(x \right) = F_{16}\! \left(x \right) F_{35}\! \left(x \right)
F_{45}\! \left(x \right) = F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{16}\! \left(x \right) F_{47}\! \left(x \right) F_{7}\! \left(x \right)
F_{47}\! \left(x \right) = F_{19}\! \left(x \right)+F_{48}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{19} \left(x \right)^{2} F_{16}\! \left(x \right)
F_{50}\! \left(x \right) = F_{51}\! \left(x \right)
F_{51}\! \left(x \right) = F_{20} \left(x \right)^{2} F_{16}\! \left(x \right) F_{7}\! \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_16(x)*F_3(x))
Eq(F_3(x), F_0(x) + F_4(x))
Eq(F_4(x), F_5(x))
Eq(F_5(x), F_16(x)*F_6(x))
Eq(F_6(x), F_50(x) + F_7(x))
Eq(F_7(x), F_34(x) + F_8(x))
Eq(F_8(x), F_0(x) + F_9(x))
Eq(F_9(x), F_10(x))
Eq(F_10(x), F_11(x)*F_16(x)*F_27(x))
Eq(F_11(x), F_12(x) + F_3(x))
Eq(F_12(x), F_13(x)*F_16(x))
Eq(F_13(x), F_14(x) + F_24(x))
Eq(F_14(x), F_15(x) + F_17(x) + F_3(x))
Eq(F_15(x), F_14(x)*F_16(x))
Eq(F_16(x), x)
Eq(F_17(x), F_18(x))
Eq(F_18(x), F_16(x)*F_19(x)*F_20(x)*F_7(x))
Eq(F_19(x), F_20(x) + F_22(x))
Eq(F_20(x), F_1(x) + F_21(x))
Eq(F_21(x), F_16(x)*F_19(x))
Eq(F_22(x), F_23(x))
Eq(F_23(x), F_16(x)*F_19(x)*F_20(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_11(x)*F_16(x)*F_26(x)*F_31(x))
Eq(F_26(x), F_27(x) + F_29(x))
Eq(F_27(x), F_1(x) + F_28(x))
Eq(F_28(x), F_16(x)*F_26(x))
Eq(F_29(x), F_30(x))
Eq(F_30(x), F_16(x)*F_26(x)*F_27(x))
Eq(F_31(x), F_1(x) + F_32(x))
Eq(F_32(x), F_33(x))
Eq(F_33(x), F_16(x)*F_31(x))
Eq(F_34(x), F_16(x)*F_35(x))
Eq(F_35(x), F_36(x) + F_40(x))
Eq(F_36(x), F_37(x) + F_39(x) + F_8(x))
Eq(F_37(x), F_38(x))
Eq(F_38(x), F_11(x)*F_16(x)*F_26(x)*F_27(x))
Eq(F_39(x), F_16(x)*F_36(x))
Eq(F_40(x), F_41(x))
Eq(F_41(x), F_16(x)*F_31(x)*F_42(x))
Eq(F_42(x), F_43(x) + F_44(x) + F_45(x) + F_8(x))
Eq(F_43(x), F_16(x)*F_42(x))
Eq(F_44(x), F_16(x)*F_35(x))
Eq(F_45(x), F_46(x))
Eq(F_46(x), F_16(x)*F_47(x)*F_7(x))
Eq(F_47(x), F_19(x) + F_48(x))
Eq(F_48(x), F_49(x))
Eq(F_49(x), F_16(x)*F_19(x)**2)
Eq(F_50(x), F_51(x))
Eq(F_51(x), F_16(x)*F_20(x)**2*F_7(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"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": true, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}]], "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_and_row_and_col_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, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [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], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 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], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [1, 2], [3, 2]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [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": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 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], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 1]]}], "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]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}], "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": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1], [1, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "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], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 2]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 0], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 2], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [1, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [1, 0], [1, 2], [1, 4]], [[2, 3]], [[3, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"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": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 3]]}, {"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": [1, 0], "pos": [[2, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 2], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 2], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"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": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 2], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 2], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}], "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, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "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, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 5]]}, {"patt": [1, 0, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 1], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 3], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [0, 5], [2, 5]], [[1, 4]], [[3, 0], [3, 1], [3, 2]]], "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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"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, 1], "pos": [[0, 2], [2, 2]]}, {"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": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0]], [[2, 1], [2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [0, 0], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 4]], [[1, 1]], [[2, 2], [2, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "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": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 3]]}, {"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": [1, 0], "pos": [[2, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 2], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 2], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 3], [2, 1], [2, 2], [2, 3]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 2]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"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": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 2], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 2], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2], [0, 3], [2, 2], [2, 3]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"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": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}], "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": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}], "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], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[5, 1], [5, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [5, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [2, 4]], [[1, 3]], [[3, 1], [5, 1]], [[4, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"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]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 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]]}]]}], "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, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"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]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [3, 2]], [[1, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "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, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 1], [0, 3], [1, 1]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"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]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "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": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 3], [2, 3]], [[1, 2]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"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]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "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": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "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": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"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]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 2], [2, 1], [2, 2], [3, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [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": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "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": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[5, 3], [5, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 4], [0, 1], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 1], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 1], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [0, 4], [2, 4]], [[1, 2]], [[3, 0], [4, 0]], [[5, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"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": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"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": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 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], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 5]]}, {"patt": [1, 0, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 3], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3], [0, 5], [2, 5]], [[1, 4]], [[3, 0], [3, 2]], [[4, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [2, 1]]}], "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": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [3, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [2, 1], [2, 2], [3, 2]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "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, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2], [0, 4], [2, 4]], [[1, 3]], [[3, 1]], [[4, 0]]], "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], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [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": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 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], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 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"}}, "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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [3, 2]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [3, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [1, 2], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [3, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [3, 2]]}], "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, 2, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}], "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], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [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": [1, 0, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 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, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}], "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, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "include_empty": false, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0, 1], "pos": [[0, 2], [1, 4]]}, {"patt": [0, 1], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 0], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 2], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [1, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [1, 4], [1, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[2, 3]]}]]}], "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, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [1, 3], [1, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 5]]}, {"patt": [1, 0, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 1], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 3], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 4]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 4]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}, "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": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [0, 0], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 3], [2, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 2], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 3]]}, {"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": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "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": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 2], [2, 2]]}, {"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": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 3]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[5, 1], [5, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [5, 1]]}, {"patt": [0, 2, 1], "pos": [[4, 0], [4, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 2], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 2], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "requirements": [[{"patt": [0], "pos": [[1, 3]]}]]}], "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": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"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]]}], "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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"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]]}], "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": [{"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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 2]]}, {"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]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 1], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 1], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 1], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 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], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "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": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"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": [0, 1, 2], "pos": [[0, 0], [0, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 2]]}, {"patt": [1, 0, 2], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [2, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 2], [0, 2], [2, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 0], [0, 2], [2, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 2], [0, 2], [0, 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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "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], "pos": [[1, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "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": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[5, 0]]}, {"patt": [0], "pos": [[5, 1]]}, {"patt": [0], "pos": [[5, 2]]}, {"patt": [0], "pos": [[5, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[5, 3], [5, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [4, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 4]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [2, 4]]}, {"patt": [1, 0, 2], "pos": [[2, 4], [2, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 4], [0, 1], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 4], [0, 4], [2, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 1], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 1], [0, 4], [2, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [0, 4]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 4], [0, 4], [0, 4], [2, 4]]}], "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": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 2], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 0], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "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, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[1, 5]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[2, 4]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[3, 5]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0], "pos": [[4, 4]]}, {"patt": [0], "pos": [[4, 5]]}, {"patt": [0, 1], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 5], [2, 5]]}, {"patt": [0, 2, 1], "pos": [[0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 5]]}, {"patt": [1, 0, 2], "pos": [[2, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 0], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[3, 2], [3, 2], [3, 2]]}, {"patt": [1, 0, 2], "pos": [[4, 1], [4, 1], [4, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 3], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 5], [0, 5], [2, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 3], [0, 5], [2, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [0, 5]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 5], [0, 5], [0, 5], [2, 5]]}], "requirements": [[{"patt": [0], "pos": [[1, 4]]}]]}], "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": [[1, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0], "pos": [[3, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 3]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [2, 3], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 0], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 0, 2], "pos": [[2, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 1], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 1], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 3], [0, 3], [2, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 1], [0, 3], [2, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [0, 3]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 3], [0, 3], [0, 3], [2, 3]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": 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, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 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]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 0, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}]}