01234_01243_01342_02341_10234_10243_10342_12340_20134_20143_20341_21340_30124_30142_30241_31240_40123_40132_40231_41230
Counting sequence:
1, 1, 2, 6, 24, 100, 420, 1764, 7392, 30888, 128700, 534820, 2217072, 9170616, 37858184, 156009000, 641865600, 2636997840, 10819447020, 44338518180, 181502706000, 742250539800, 3032623634040, 12379931112120, 50498375129280, 205835768190000, 838437695760600, 3413086373819304, 13885718922546912, 56461243343795248, 229460718022813200, 932085261485772240, 3784466610075565568, 15359135657423615904, 62309220792048078156, 252679995190569300900, 1024309493108660762640, 4150892279216525280984, 16815476530519797609752, 68099092009089422183448, 275704825947730454184000, 1115897609637160312639600, 4515302766800119411388040, 18265736976498044030040120, 73872061393323207970882080, 298689888826068996288186000, 1207431247557503154692242800, 4879888800515010334374542640, 19718181573218839167944497920, 79659355876913342276882160480, 321753350693314945421080155000, 1299358225208023702039251858600, 5246349916369338053410249857312, 21179269307937455957696129325936, 85485555798801255469307598919344, 344988878223673829724144922263600, 1392035931526096692058637289025920, 5616051456215349836207995764102624, 22654222603455151782899170883015472, 91370660675883543216327145963136208, 368473149423492956278584048594763200, 1485758682166931767774155002723629920, 5990124348102526001441374650325104672, 24147391806232446170802537789227008416, 97331422579959967361268600858573993984, 392270738324491435917811201376941320000, 1580775638767253469164948793241116415500, 6369530930473366775754150312346372577700, 25662497299256784820632279955848705075600, 103382237803019979938078328865155209165400, 416437402914978180057476644405676354055000, 1677302947475773398517215453471641364759000, 6755109818244482966744584409796453431995200, 27202795523939930820305949659638065405135600, 109535761885210178059542450265711570820831400, 441022365976179447018705718859538442308975000, 1775532206373288930483956861657212063955268000, 7147607369726576806821907745190594389389049040, 28771196035762003291438287567619555952913267120, 115803345482602508752452408201737453480806746480, 466069939624885137465241759721371120792600992000, 1875636526015716548463759322271100171873261650400, 7547700316726207518169905569065001247186291789480, 30370346080220509203644820270826742446898650160440, 122195350728880168091773399690907951096954545400160, 491620709688050590214320691527534140600914371554000, 1977774967097978312789376406643822220535107060016400, 7956012405264452840750260275481290864166259672618640, 32002693043148753367444511260476467501730520062433920, 128721385785099622674645543332694924274854967973170080, 517712417291960944107678066264030913516079097440610000, 2082095856509766523531178679978713089638822976897854000, 8373126877900570234312930525491928488442524245068097600, 33670531470544744088435155168563218405626615054283632800, 135390482084224097197115834317350276534265785919538815200, 544380627460589912660560692776808764605289679143421340000, 2188739311124862287140511882806107713817281146692653952000, 8799596006765811471523465865676397525748292820683426513600, 35376039101083002389170153366351118747198570665281868015800, 142211230613169140889937748868266531854139088933629423980200, 571659244889053442043658236019624277706805243085090448900000
Generating function in Maple syntax:
(-6*x^3*(-4*x+1)^(1/2)+2*x^2*(-4*x+1)^(1/2)+16*x^3+8*x^2-7*x+1)/(4*x-1)^2
Generating function in latex syntax:
\frac{-6 x^{3} \sqrt{-4 x +1}+2 x^{2} \sqrt{-4 x +1}+16 x^{3}+8 x^{2}-7 x +1}{\left(4 x -1\right)^{2}}
Generating function in sympy syntax:
(-6*x**3*sqrt(1 - 4*x) + 16*x**3 + 2*x**2*sqrt(1 - 4*x) + 8*x**2 - 7*x + 1)/(4*x - 1)**2
Implicit equation for the generating function in Maple syntax:
(4*x-1)^3*F(x)^2-2*(x+1)*(4*x-1)^3*F(x)+36*x^6+40*x^5+84*x^4-20*x^3-25*x^2+10*x-1 = 0
Implicit equation for the generating function in latex syntax:
\left(4 x -1\right)^{3} F \! \left(x \right)^{2}-2 \left(x +1\right) \left(4 x -1\right)^{3} F \! \left(x \right)+36 x^{6}+40 x^{5}+84 x^{4}-20 x^{3}-25 x^{2}+10 x -1 = 0
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(n+2) = -6*(-3+2*n)/n*a(n)+(-4+7*n)/n*a(n+1), n >= 4
Recurrence in latex format:
a{\left(0 \right)} = 1
a{\left(1 \right)} = 1
a{\left(2 \right)} = 2
a{\left(3 \right)} = 6
a{\left(n + 2 \right)} = - \frac{6 \left(2 n - 3\right) a{\left(n \right)}}{n} + \frac{\left(7 n - 4\right) a{\left(n + 1 \right)}}{n}, \quad n \geq 4
Specification 1
Strategy pack name: point_placements_tracked_fusion
Tree: http://permpal.com/tree/24391/
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[7,x]
F[4,x] = F[5,x,1]
F[5,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[6,x,k[0]] = -1+k[0]^2*x^2+F[6,x,k[0]]^2*(4*x*k[0]-1)+(-8*x*k[0]+3)*F[6,x,k[0]]+4*k[0]*x
F[7,x] = 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_{7}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x , 1\right)
F_{5}\! \left(x , y\right) = -\frac{-y F_{6}\! \left(x , y\right)+F_{6}\! \left(x , 1\right)}{-1+y}
F_{6}\! \left(x , y\right) = y^{2} x^{2}+4 x F_{6}\! \left(x , y\right)^{2} y -8 x F_{6}\! \left(x , y\right) y +4 y x -F_{6}\! \left(x , y\right)^{2}+3 F_{6}\! \left(x , y\right)-1
F_{7}\! \left(x \right) = x
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_7(x))
Eq(F_4(x), F_5(x, 1))
Eq(F_5(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_6(x, k_0), k_0**2*x**2 + 4*k_0*x + (-8*k_0*x + 3)*F_6(x, k_0) + (4*k_0*x - 1)*F_6(x, k_0)**2 - 1)
Eq(F_7(x), x)
Pack JSON:
{"name": "point_placements_tracked_fusion", "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", "strategy_class": "FactorFactory", "interleaving": null, "unions": false, "ignore_parent": true, "workable": true, "tracked": false}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "strategy_class": "RowColumnSeparationStrategy", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "strategy_class": "InsertionEncodingVerificationStrategy", "ignore_parent": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "LocallyFactorableVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}], "expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "CellInsertionFactory", "ignore_parent": false, "maxreqlen": 1, "extra_basis": [], "one_cell_only": false}, {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "PatternPlacementFactory", "partial": false, "ignore_parent": false, "dirs": [0, 1, 2, 3], "point_only": false}]], "symmetries": [], "iterative": false}
Specification JSON:
{"root": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "children": [{"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, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "RequirementInsertionStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.factor", "strategy_class": "FactorStrategy", "ignore_parent": true, "workable": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false, "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalenceRule", "original_rule": {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "RequirementPlacementStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}], "indices": [0], "direction": 0, "own_col": true, "own_row": true, "include_empty": false}}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": [], "assumptions": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"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": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "tilings.strategies.verification", "rule_class": "OneByOneVerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [[0, 1, 2, 3, 4], [0, 1, 2, 4, 3], [0, 1, 3, 4, 2], [0, 2, 3, 4, 1], [1, 0, 2, 3, 4], [1, 0, 2, 4, 3], [1, 0, 3, 4, 2], [1, 2, 3, 4, 0], [2, 0, 1, 3, 4], [2, 0, 1, 4, 3], [2, 0, 3, 4, 1], [2, 1, 3, 4, 0], [3, 0, 1, 2, 4], [3, 0, 1, 4, 2], [3, 0, 2, 4, 1], [3, 1, 2, 4, 0], [4, 0, 1, 2, 3], [4, 0, 1, 3, 2], [4, 0, 2, 3, 1], [4, 1, 2, 3, 0]], "symmetry": false}}, {"class_module": "tilings.strategies.fusion.fusion", "rule_class": "FusionRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionStrategy", "row_idx": 0, "col_idx": null, "tracked": true}}]}
Specification 2
Strategy pack name: point_placements_tracked_fusion
Tree: http://permpal.com/tree/24936/
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[7,x]
F[4,x] = F[5,x,1]
F[5,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[6,x,k[0]] = -1+k[0]^2*x^2+F[6,x,k[0]]^2*(4*x*k[0]-1)+(-8*x*k[0]+3)*F[6,x,k[0]]+4*k[0]*x
F[7,x] = 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_{7}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x , 1\right)
F_{5}\! \left(x , y\right) = -\frac{-y F_{6}\! \left(x , y\right)+F_{6}\! \left(x , 1\right)}{-1+y}
F_{6}\! \left(x , y\right) = y^{2} x^{2}+4 x F_{6}\! \left(x , y\right)^{2} y -8 x F_{6}\! \left(x , y\right) y +4 y x -F_{6}\! \left(x , y\right)^{2}+3 F_{6}\! \left(x , y\right)-1
F_{7}\! \left(x \right) = x
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_7(x))
Eq(F_4(x), F_5(x, 1))
Eq(F_5(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_6(x, k_0), k_0**2*x**2 + 4*k_0*x + (-8*k_0*x + 3)*F_6(x, k_0) + (4*k_0*x - 1)*F_6(x, k_0)**2 - 1)
Eq(F_7(x), x)
Pack JSON:
{"name": "point_placements_tracked_fusion", "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", "strategy_class": "FactorFactory", "interleaving": null, "unions": false, "ignore_parent": true, "workable": true, "tracked": false}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "strategy_class": "RowColumnSeparationStrategy", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "strategy_class": "InsertionEncodingVerificationStrategy", "ignore_parent": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "LocallyFactorableVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}], "expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "CellInsertionFactory", "ignore_parent": false, "maxreqlen": 1, "extra_basis": [], "one_cell_only": false}, {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "PatternPlacementFactory", "partial": false, "ignore_parent": false, "dirs": [0, 1, 2, 3], "point_only": false}]], "symmetries": [], "iterative": false}
Specification JSON:
{"root": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "children": [{"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, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "RequirementInsertionStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.factor", "strategy_class": "FactorStrategy", "ignore_parent": true, "workable": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false, "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalenceRule", "original_rule": {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "RequirementPlacementStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}], "indices": [0], "direction": 0, "own_col": true, "own_row": true, "include_empty": false}}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": [], "assumptions": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"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": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "tilings.strategies.verification", "rule_class": "OneByOneVerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [[0, 1, 2, 3, 4], [0, 1, 2, 4, 3], [0, 1, 3, 4, 2], [0, 2, 3, 4, 1], [1, 0, 2, 3, 4], [1, 0, 2, 4, 3], [1, 0, 3, 4, 2], [1, 2, 3, 4, 0], [2, 0, 1, 3, 4], [2, 0, 1, 4, 3], [2, 0, 3, 4, 1], [2, 1, 3, 4, 0], [3, 0, 1, 2, 4], [3, 0, 1, 4, 2], [3, 0, 2, 4, 1], [3, 1, 2, 4, 0], [4, 0, 1, 2, 3], [4, 0, 1, 3, 2], [4, 0, 2, 3, 1], [4, 1, 2, 3, 0]], "symmetry": false}}, {"class_module": "tilings.strategies.fusion.fusion", "rule_class": "FusionRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionStrategy", "row_idx": 0, "col_idx": null, "tracked": true}}]}
Specification 3
Strategy pack name: point_placements_tracked_fusion
Tree: http://permpal.com/tree/25556/
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[7,x]
F[4,x] = F[5,x,1]
F[5,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[6,x,k[0]] = -1+k[0]^2*x^2+F[6,x,k[0]]^2*(4*x*k[0]-1)+(-8*x*k[0]+3)*F[6,x,k[0]]+4*k[0]*x
F[7,x] = 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_{7}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x , 1\right)
F_{5}\! \left(x , y\right) = -\frac{-y F_{6}\! \left(x , y\right)+F_{6}\! \left(x , 1\right)}{-1+y}
F_{6}\! \left(x , y\right) = y^{2} x^{2}+4 x F_{6}\! \left(x , y\right)^{2} y -8 x F_{6}\! \left(x , y\right) y +4 y x -F_{6}\! \left(x , y\right)^{2}+3 F_{6}\! \left(x , y\right)-1
F_{7}\! \left(x \right) = x
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_7(x))
Eq(F_4(x), F_5(x, 1))
Eq(F_5(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_6(x, k_0), k_0**2*x**2 + 4*k_0*x + (-8*k_0*x + 3)*F_6(x, k_0) + (4*k_0*x - 1)*F_6(x, k_0)**2 - 1)
Eq(F_7(x), x)
Pack JSON:
{"name": "point_placements_tracked_fusion", "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", "strategy_class": "FactorFactory", "interleaving": null, "unions": false, "ignore_parent": true, "workable": true, "tracked": false}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "strategy_class": "RowColumnSeparationStrategy", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "strategy_class": "InsertionEncodingVerificationStrategy", "ignore_parent": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "LocallyFactorableVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}], "expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "CellInsertionFactory", "ignore_parent": false, "maxreqlen": 1, "extra_basis": [], "one_cell_only": false}, {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "PatternPlacementFactory", "partial": false, "ignore_parent": false, "dirs": [0, 1, 2, 3], "point_only": false}]], "symmetries": [], "iterative": false}
Specification JSON:
{"root": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "children": [{"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, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "RequirementInsertionStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.factor", "strategy_class": "FactorStrategy", "ignore_parent": true, "workable": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false, "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalenceRule", "original_rule": {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "RequirementPlacementStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}], "indices": [0], "direction": 0, "own_col": true, "own_row": true, "include_empty": false}}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": [], "assumptions": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"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": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "tilings.strategies.verification", "rule_class": "OneByOneVerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [[0, 1, 2, 3, 4], [0, 1, 2, 4, 3], [0, 1, 3, 4, 2], [0, 2, 3, 4, 1], [1, 0, 2, 3, 4], [1, 0, 2, 4, 3], [1, 0, 3, 4, 2], [1, 2, 3, 4, 0], [2, 0, 1, 3, 4], [2, 0, 1, 4, 3], [2, 0, 3, 4, 1], [2, 1, 3, 4, 0], [3, 0, 1, 2, 4], [3, 0, 1, 4, 2], [3, 0, 2, 4, 1], [3, 1, 2, 4, 0], [4, 0, 1, 2, 3], [4, 0, 1, 3, 2], [4, 0, 2, 3, 1], [4, 1, 2, 3, 0]], "symmetry": false}}, {"class_module": "tilings.strategies.fusion.fusion", "rule_class": "FusionRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionStrategy", "row_idx": 0, "col_idx": null, "tracked": true}}]}
Specification 4
Strategy pack name: point_placements_tracked_fusion_tracked_component_fusion_symmetries
Tree: http://permpal.com/tree/25632/
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[7,x]
F[4,x] = F[5,x,1]
F[5,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[6,x,k[0]] = -1+k[0]^2*x^2+F[6,x,k[0]]^2*(4*x*k[0]-1)+(-8*x*k[0]+3)*F[6,x,k[0]]+4*k[0]*x
F[7,x] = 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_{7}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x , 1\right)
F_{5}\! \left(x , y\right) = -\frac{-y F_{6}\! \left(x , y\right)+F_{6}\! \left(x , 1\right)}{-1+y}
F_{6}\! \left(x , y\right) = y^{2} x^{2}+4 x F_{6}\! \left(x , y\right)^{2} y -8 x F_{6}\! \left(x , y\right) y +4 y x -F_{6}\! \left(x , y\right)^{2}+3 F_{6}\! \left(x , y\right)-1
F_{7}\! \left(x \right) = x
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_7(x))
Eq(F_4(x), F_5(x, 1))
Eq(F_5(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_6(x, k_0), k_0**2*x**2 + 4*k_0*x + (-8*k_0*x + 3)*F_6(x, k_0) + (4*k_0*x - 1)*F_6(x, k_0)**2 - 1)
Eq(F_7(x), x)
Pack JSON:
{"name": "point_placements_tracked_fusion_tracked_component_fusion_symmetries", "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", "strategy_class": "FactorFactory", "interleaving": null, "unions": false, "ignore_parent": true, "workable": true, "tracked": false}, {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "PointCorroborationFactory", "ignore_parent": true}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}, {"class_module": "tilings.strategies.fusion.component", "strategy_class": "ComponentFusionFactory", "tracked": true, "isolation_level": null}, {"class_module": "tilings.strategies.detect_components", "strategy_class": "DetectComponentsStrategy", "ignore_parent": true, "inferrable": true, "possibly_empty": true, "workable": true}, {"class_module": "tilings.strategies.monotone_sliding", "strategy_class": "MonotoneSlidingFactory"}, {"class_module": "tilings.strategies.point_jumping", "strategy_class": "AssumptionAndPointJumpingFactory"}, {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "RequirementCorroborationFactory", "ignore_parent": true}], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "strategy_class": "RowColumnSeparationStrategy", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "strategy_class": "InsertionEncodingVerificationStrategy", "ignore_parent": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "LocallyFactorableVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "ComponentVerificationStrategy", "ignore_parent": false}], "expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "CellInsertionFactory", "ignore_parent": false, "maxreqlen": 1, "extra_basis": [], "one_cell_only": false}, {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "PatternPlacementFactory", "partial": false, "ignore_parent": false, "dirs": [0, 1, 2, 3], "point_only": false}], [{"class_module": "tilings.strategies.requirement_placement", "strategy_class": "FusableRowAndColumnPlacementFactory", "partial": false, "ignore_parent": false, "dirs": [0, 1, 2, 3], "place_row": true, "place_col": true}]], "symmetries": [{"class_module": "tilings.strategies.symmetry", "strategy_class": "SymmetriesFactory", "basis": null}], "iterative": false}
Specification JSON:
{"root": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "children": [{"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, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "RequirementInsertionStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.factor", "strategy_class": "FactorStrategy", "ignore_parent": true, "workable": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false, "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "RequirementPlacementStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}], "indices": [0], "direction": 0, "own_col": true, "own_row": true, "include_empty": false}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": [], "assumptions": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"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": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "tilings.strategies.verification", "rule_class": "OneByOneVerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [[0, 1, 2, 3, 4], [0, 1, 2, 4, 3], [0, 1, 3, 4, 2], [0, 2, 3, 4, 1], [1, 0, 2, 3, 4], [1, 0, 2, 4, 3], [1, 0, 3, 4, 2], [1, 2, 3, 4, 0], [2, 0, 1, 3, 4], [2, 0, 1, 4, 3], [2, 0, 3, 4, 1], [2, 1, 3, 4, 0], [3, 0, 1, 2, 4], [3, 0, 1, 4, 2], [3, 0, 2, 4, 1], [3, 1, 2, 4, 0], [4, 0, 1, 2, 3], [4, 0, 1, 3, 2], [4, 0, 2, 3, 1], [4, 1, 2, 3, 0]], "symmetry": true}}, {"class_module": "tilings.strategies.fusion.fusion", "rule_class": "FusionRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionStrategy", "row_idx": 0, "col_idx": null, "tracked": true}}]}
Specification 5
Strategy pack name: point_placements_tracked_fusion
Tree: http://permpal.com/tree/25711/
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[7,x]
F[4,x] = F[5,x,1]
F[5,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[6,x,k[0]] = -1+k[0]^2*x^2+F[6,x,k[0]]^2*(4*x*k[0]-1)+(-8*x*k[0]+3)*F[6,x,k[0]]+4*k[0]*x
F[7,x] = 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_{7}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x , 1\right)
F_{5}\! \left(x , y\right) = -\frac{-y F_{6}\! \left(x , y\right)+F_{6}\! \left(x , 1\right)}{-1+y}
F_{6}\! \left(x , y\right) = y^{2} x^{2}+4 x F_{6}\! \left(x , y\right)^{2} y -8 x F_{6}\! \left(x , y\right) y +4 y x -F_{6}\! \left(x , y\right)^{2}+3 F_{6}\! \left(x , y\right)-1
F_{7}\! \left(x \right) = x
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_7(x))
Eq(F_4(x), F_5(x, 1))
Eq(F_5(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_6(x, k_0), k_0**2*x**2 + 4*k_0*x + (-8*k_0*x + 3)*F_6(x, k_0) + (4*k_0*x - 1)*F_6(x, k_0)**2 - 1)
Eq(F_7(x), x)
Pack JSON:
{"name": "point_placements_tracked_fusion", "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", "strategy_class": "FactorFactory", "interleaving": null, "unions": false, "ignore_parent": true, "workable": true, "tracked": false}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "strategy_class": "RowColumnSeparationStrategy", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "strategy_class": "InsertionEncodingVerificationStrategy", "ignore_parent": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}, {"class_module": "tilings.strategies.verification", "strategy_class": "LocallyFactorableVerificationStrategy", "ignore_parent": false, "basis": [], "symmetry": false}], "expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "CellInsertionFactory", "ignore_parent": false, "maxreqlen": 1, "extra_basis": [], "one_cell_only": false}, {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "PatternPlacementFactory", "partial": false, "ignore_parent": false, "dirs": [0, 1, 2, 3], "point_only": false}]], "symmetries": [], "iterative": false}
Specification JSON:
{"root": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": []}, "children": [{"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, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_insertion", "strategy_class": "RequirementInsertionStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.factor", "strategy_class": "FactorStrategy", "ignore_parent": true, "workable": true, "partition": [[[0, 0], [0, 2]], [[1, 1]]]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false, "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalenceRule", "original_rule": {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "Rule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 4, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 3, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2, 4], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 4, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 4, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 1, 2, 4, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 0, 2, 3, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [4, 1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]], "assumptions": []}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 0], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 0], [0, 2], [0, 2]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]], "assumptions": []}], "strategy": {"class_module": "tilings.strategies.requirement_placement", "strategy_class": "RequirementPlacementStrategy", "ignore_parent": false, "gps": [{"patt": [0], "pos": [[0, 0]]}], "indices": [0], "direction": 0, "own_col": true, "own_row": true, "include_empty": false}}}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": [], "assumptions": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "VerificationRule", "comb_class": {"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": []}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "tilings.strategies.verification", "rule_class": "OneByOneVerificationRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "OneByOneVerificationStrategy", "ignore_parent": false, "basis": [[0, 1, 2, 3, 4], [0, 1, 2, 4, 3], [0, 1, 3, 4, 2], [0, 2, 3, 4, 1], [1, 0, 2, 3, 4], [1, 0, 2, 4, 3], [1, 0, 3, 4, 2], [1, 2, 3, 4, 0], [2, 0, 1, 3, 4], [2, 0, 1, 4, 3], [2, 0, 3, 4, 1], [2, 1, 3, 4, 0], [3, 0, 1, 2, 4], [3, 0, 1, 4, 2], [3, 0, 2, 4, 1], [3, 1, 2, 4, 0], [4, 0, 1, 2, 3], [4, 0, 1, 3, 2], [4, 0, 2, 3, 1], [4, 1, 2, 3, 0]], "symmetry": false}}, {"class_module": "tilings.strategies.fusion.fusion", "rule_class": "FusionRule", "comb_class": {"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"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]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 0], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 0], [0, 1], [0, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}, "children": [{"class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 0, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [], "assumptions": [{"class_module": "tilings.assumptions", "assumption": "TrackingAssumption", "gps": [{"patt": [0], "pos": [[0, 0]]}]}]}], "strategy": {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionStrategy", "row_idx": 0, "col_idx": null, "tracked": true}}]}