0132_0231_2013

Counting sequence:
1, 1, 2, 6, 21, 76, 277, 1016, 3756, 13994, 52491, 197987, 750185, 2853359, 10888249, 41666366, 159841363, 614533726, 2367296805, 9135316189, 35308932127, 136669732720, 529702495519, 2055492027161, 7985125476460, 31052235575652, 120869402027674, 470893847231025, 1836059002755127, 7164464059959013, 27976476930101877, 109318928350144163, 427438152204440357, 1672287229356917989, 6546265256681800879, 25639416718185557770, 100471355281369997024, 393898825667147115413, 1544987649558484916701, 6062525976605013536384, 23799156421121107403235, 93463184909525151394506, 367183314395681095891596, 1443050260884065251983565, 5673217347859366326283142, 22311077880384500111948504, 87770579522291634290511574, 345389512217603161062782302, 1359552271930314305876335213, 5353087997684584560854131878, 21082881747937895703091839063, 83055491180726505184555574330, 327276957761940156339857792915, 1289933569600457293799823745677, 5085345242275931343901826532859, 20052626227282544882957832964878, 79089077807989107947519157849141, 311998915996728054859843337424145, 1231056596332264637863577097336540, 4858346668355735179123989810615610, 19177052208458371456910232854181522, 75710396095714681291427071777379885, 298955861158922791078868671311070967, 1180685400766388076508359271978938505, 4663743601541874260676986461348483626, 18424952442958969743867817660826162858, 72802668514241994359089207217172332212, 287710358901614883108864258358172679647, 1137179766944109025703375820072647745091, 4495379890736116354912961156814613890031, 17773199689264550143969813528538385936813, 70278932639369973648532785531600992590171, 277935128664169505609529484767687157917430, 1099306937313226164809649493318560083593012, 4348608321762581088671501020075973891513311, 17204261019730683488574321735974427815187863, 68072989293679637892271426127988935565943498, 269380033833801910931447365370826088436609007, 1066121068986434025356608267857116262433741186, 4219849836453819946068790688888332094919710300, 16704583982959013559797467598639600738402584629, 66133486402078943611452808088177889881130706726, 261850367572659024898993619118742053605351195158, 1036883442016479655421095551338998472065977366066, 4106299992446262390466337492344555400115920437984, 16263515522638949622238369855586987486483935952731, 64419933183839037138133135766454343677982765894386, 255192142272035997075102178577277789483862471063397, 1011008111458908149254422278429697952680342013091782, 4005727976515641558199246175730056445635367625283879, 15872557982852043248663522154430600991035825432914867, 62899943513991985751439060744722294200276814631476019, 249281866357482339238215986360141081850437126811802298, 988023960141493668398100657548607802365083497085598409, 3916335626887545942161899031291981096564228431954015633, 15524844918791709675582200075038812549576422771005846698, 61547285251254903401537598753988510877846122513269494704, 244019279381816445631623948220144715639575897428086219898, 967547620631937532078737172298319171076709139828480046997, 3836656429534993882294056704745241991372035260666920263007, 15214764060765003863478559265262282747750451168310777866495

Generating function in Maple syntax:
((-6*x^4+12*x^3-11*x^2+5*x-1)*(1-4*x)^(1/2)-4*x^4+14*x^3-15*x^2+7*x-1)/(18*x^5-52*x^4+68*x^3-46*x^2+16*x-2)

Generating function in latex syntax:
\frac{\left(-6 x^{4}+12 x^{3}-11 x^{2}+5 x -1\right) \sqrt{1-4 x}-4 x^{4}+14 x^{3}-15 x^{2}+7 x -1}{18 x^{5}-52 x^{4}+68 x^{3}-46 x^{2}+16 x -2}

Generating function in sympy syntax:
(-4*x**4 + 14*x**3 - 15*x**2 + 7*x + sqrt(1 - 4*x)*(-6*x**4 + 12*x**3 - 11*x**2 + 5*x - 1) - 1)/(18*x**5 - 52*x**4 + 68*x**3 - 46*x**2 + 16*x - 2)

Implicit equation for the generating function in Maple syntax:
(9*x^5-26*x^4+34*x^3-23*x^2+8*x-1)*F(x)^2+(4*x^4-14*x^3+15*x^2-7*x+1)*F(x)+x^2*(4*x^2-5*x+2) = 0

Implicit equation for the generating function in latex syntax:
\left(9 x^{5}-26 x^{4}+34 x^{3}-23 x^{2}+8 x -1\right) F \! \left(x \right)^{2}+\left(4 x^{4}-14 x^{3}+15 x^{2}-7 x +1\right) F \! \left(x \right)+x^{2} \left(4 x^{2}-5 x +2\right) = 0

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 21
a(5) = 76
a(6) = 277
a(7) = 1016
a(8) = 3756
a(9) = 13994
a(n+10) = -108*(1+2*n)/(n+10)*a(n)+30*(50+37*n)/(n+10)*a(n+1)-6*(1009+454*n)/(n+10)*a(n+2)+(12924+4123*n)/(n+10)*a(n+3)-(17258+4225*n)/(n+10)*a(n+4)+(15404+3041*n)/(n+10)*a(n+5)-17*(552+91*n)/(n+10)*a(n+6)+(3856+545*n)/(n+10)*a(n+7)-2*(509+63*n)/(n+10)*a(n+8)+(154+17*n)/(n+10)*a(n+9), n >= 10

Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(4\right) = 21
a \! \left(5\right) = 76
a \! \left(6\right) = 277
a \! \left(7\right) = 1016
a \! \left(8\right) = 3756
a \! \left(9\right) = 13994
a \! \left(n +10\right) = -\frac{108 \left(1+2 n \right) a \! \left(n \right)}{n +10}+\frac{30 \left(50+37 n \right) a \! \left(n +1\right)}{n +10}-\frac{6 \left(1009+454 n \right) a \! \left(n +2\right)}{n +10}+\frac{\left(12924+4123 n \right) a \! \left(n +3\right)}{n +10}-\frac{\left(17258+4225 n \right) a \! \left(n +4\right)}{n +10}+\frac{\left(15404+3041 n \right) a \! \left(n +5\right)}{n +10}-\frac{17 \left(552+91 n \right) a \! \left(n +6\right)}{n +10}+\frac{\left(3856+545 n \right) a \! \left(n +7\right)}{n +10}-\frac{2 \left(509+63 n \right) a \! \left(n +8\right)}{n +10}+\frac{\left(154+17 n \right) a \! \left(n +9\right)}{n +10}, \quad n \geq 10

Specification 1
Strategy pack name: point_placements_tracked_fusion
Tree: http://permpal.com/tree/269/
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[9,x,1]
F[9,x,k[0]] = F[10,x,k[0]]+F[18,x,k[0]]
F[10,x,k[0]] = F[11,x,k[0]]+F[15,x,k[0]]
F[11,x,k[0]] = F[0,x]+F[12,x,k[0]]
F[12,x,k[0]] = F[13,x,k[0]]
F[13,x,k[0]] = F[10,x,k[0]]*F[14,x,k[0]]
F[14,x,k[0]] = k[0]*x
F[15,x,k[0]] = F[16,x,k[0]]
F[16,x,k[0]] = F[17,x,k[0]]*F[4,x]
F[17,x,k[0]] = (F[9,x,k[0]]*k[0]-F[9,x,1])/(-1+k[0])
F[18,x,k[0]] = F[19,x,k[0]]
F[19,x,k[0]] = F[20,x,k[0]]*F[23,x]*F[26,x]*F[4,x]
F[20,x,k[0]] = F[1,x]+F[21,x,k[0]]
F[21,x,k[0]] = F[22,x,k[0]]
F[22,x,k[0]] = F[14,x,k[0]]*F[20,x,k[0]]
F[23,x] = F[1,x]+F[24,x]
F[24,x] = F[25,x]
F[25,x] = F[23,x]*F[4,x]
F[26,x] = F[27,x,1]
F[27,x,k[0]] = F[11,x,k[0]]+F[28,x,k[0]]
F[28,x,k[0]] = F[29,x,k[0]]
F[29,x,k[0]] = F[20,x,k[0]]*F[26,x]*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_{9}\! \left(x , 1\right)
F_{9}\! \left(x , y\right) = F_{10}\! \left(x , y\right)+F_{18}\! \left(x , y\right)
F_{10}\! \left(x , y\right) = F_{11}\! \left(x , y\right)+F_{15}\! \left(x , y\right)
F_{11}\! \left(x , y\right) = F_{0}\! \left(x \right)+F_{12}\! \left(x , y\right)
F_{12}\! \left(x , y\right) = F_{13}\! \left(x , y\right)
F_{13}\! \left(x , y\right) = F_{10}\! \left(x , y\right) F_{14}\! \left(x , y\right)
F_{14}\! \left(x , y\right) = y x
F_{15}\! \left(x , y\right) = F_{16}\! \left(x , y\right)
F_{16}\! \left(x , y\right) = F_{17}\! \left(x , y\right) F_{4}\! \left(x \right)
F_{17}\! \left(x , y\right) = \frac{y F_{9}\! \left(x , y\right)-F_{9}\! \left(x , 1\right)}{-1+y}
F_{18}\! \left(x , y\right) = F_{19}\! \left(x , y\right)
F_{19}\! \left(x , y\right) = F_{20}\! \left(x , y\right) F_{23}\! \left(x \right) F_{26}\! \left(x \right) F_{4}\! \left(x \right)
F_{20}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{21}\! \left(x , y\right)
F_{21}\! \left(x , y\right) = F_{22}\! \left(x , y\right)
F_{22}\! \left(x , y\right) = F_{14}\! \left(x , y\right) F_{20}\! \left(x , y\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) F_{4}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x , 1\right)
F_{27}\! \left(x , y\right) = F_{11}\! \left(x , y\right)+F_{28}\! \left(x , y\right)
F_{28}\! \left(x , y\right) = F_{29}\! \left(x , y\right)
F_{29}\! \left(x , y\right) = F_{20}\! \left(x , y\right) F_{26}\! \left(x \right) 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_9(x, 1))
Eq(F_9(x, k_0), F_10(x, k_0) + F_18(x, k_0))
Eq(F_10(x, k_0), F_11(x, k_0) + F_15(x, k_0))
Eq(F_11(x, k_0), F_0(x) + F_12(x, k_0))
Eq(F_12(x, k_0), F_13(x, k_0))
Eq(F_13(x, k_0), F_10(x, k_0)*F_14(x, k_0))
Eq(F_14(x, k_0), k_0*x)
Eq(F_15(x, k_0), F_16(x, k_0))
Eq(F_16(x, k_0), F_17(x, k_0)*F_4(x))
Eq(F_17(x, k_0), (-k_0*F_9(x, k_0) + F_9(x, 1))/(1 - k_0))
Eq(F_18(x, k_0), F_19(x, k_0))
Eq(F_19(x, k_0), F_20(x, k_0)*F_23(x)*F_26(x)*F_4(x))
Eq(F_20(x, k_0), F_1(x) + F_21(x, k_0))
Eq(F_21(x, k_0), F_22(x, k_0))
Eq(F_22(x, k_0), F_14(x, k_0)*F_20(x, k_0))
Eq(F_23(x), F_1(x) + F_24(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_23(x)*F_4(x))
Eq(F_26(x), F_27(x, 1))
Eq(F_27(x, k_0), F_11(x, k_0) + F_28(x, k_0))
Eq(F_28(x, k_0), F_29(x, k_0))
Eq(F_29(x, k_0), F_20(x, k_0)*F_26(x)*F_4(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.rearrange_assumption", "strategy_class": "RearrangeAssumptionFactory"}, {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionFactory"}, {"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}], "iterative": false, "name": "point_placements_tracked_fusion", "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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 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]]}]]}], "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, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [2, 1], [2, 3]], [[1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 2], [2, 0], [2, 2], [2, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 2], [2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "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}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 1], [2, 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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [3, 3], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 3], [3, 3], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 1], [3, 0], [3, 1], [3, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0], [3, 1], [3, 3]], [[2, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [2, 2], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "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, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[4, 4], [4, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 4]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 4], [4, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[4, 0], [4, 4], [4, 4], [4, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 2]], [[2, 0], [4, 0], [4, 4]], [[3, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 1]]}], "ignore_parent": false, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "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": [[1, 3]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 3], [3, 3], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [3, 0], [3, 3]], [[2, 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], "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, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 2], [1, 0], [1, 2], [1, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "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, 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, 3]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 3], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 1], [2, 3]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [2, 3], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 1], [2, 1], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 3], [2, 3], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 0], [2, 1], [2, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [0, 1], [0, 1], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 3], [3, 3], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"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, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 1], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 2], [1, 2], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "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, 3]]}, {"patt": [0], "pos": [[1, 4]]}, {"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, 2]]}, {"patt": [0], "pos": [[3, 4]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0], "pos": [[4, 2]]}, {"patt": [0], "pos": [[4, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [1, 0], "pos": [[4, 4], [4, 4]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [4, 0], [4, 4]]}, {"patt": [0, 1, 2], "pos": [[4, 0], [4, 0], [4, 4]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [4, 4], [4, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[4, 0], [4, 4], [4, 4], [4, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [4, 0], [4, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [4, 0], [4, 0], [4, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[4, 0], [4, 0], [4, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[3, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"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, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 3], [3, 3], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[2, 3]]}, {"patt": [0], "pos": [[3, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 1], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [3, 3], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 1], [3, 1], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 3], [3, 3], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 1], [3, 0], [3, 1], [3, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 1], [3, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 0], [1, 1], [1, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 2]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 2]]}, {"patt": [0, 2, 1], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [1, 2, 0], "pos": [[2, 2], [2, 2], [2, 2]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[2, 0], [2, 2], [2, 2], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 2], [2, 0], [2, 2], [2, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[2, 2], [2, 2], [2, 2], [2, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "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": 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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"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, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [1, 1], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [1, 1], [1, 1], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "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": [[1, 3]]}, {"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, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[2, 2], [2, 2]]}, {"patt": [1, 0], "pos": [[3, 3], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 3]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 3], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 3], [3, 3], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [[1, 2]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[2, 2]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"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, 1, 2], "pos": [[1, 0], [3, 0], [3, 2]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [3, 2], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 3, 1], "pos": [[3, 0], [3, 2], [3, 2], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [1, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[1, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[3, 0], [3, 0], [3, 0], [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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}]}