# # This script computes all ternary one-element (co+)extensions of the given # matroid set $param1. # Those ones with branch-width 3 are written to ${param1}b for the next step. # Those ones with branch-width 4 are written to ${param1}b-4, and those not having # minor in the set ${param1}-exc + bw3-reg-exc are written to ${param1}b-4n # and added to ${param1}b-exc. # # All ternary non-binary non-whirl matroids can be obtained from the 3-whirl, # see in [Oxley]. # (The first step generates a list of F7-, O7, P7, and their duals.) # Notice that the 3-whirl is self-dual. # # Call the procedure as macek -pGF3 -g-1 '&bw3tern input' . # @subd-param1 "t6." @sub-exclist ${param1}-exc @sub-exclistout ${param1}b-exc @sub-excextra bw3-reg-exc @sub-excluded "((((S)(S)|" @sub-excludedin "((((1)(" @sub-excludedout "((((2)(" { @name "bw3tern-w" @comment "bw3tern working subframe:" { @name "exc-known" @comment "the known excl minors - extra, smaller, new" { <$excextra }{ <$exclist }{ } }{ @name extens1 @comment "new b-extensions of $input [${param1}]..." }{ @name e-bwidth4 @comment "those generated with bwidth 4 get here:" }{ @name e-bwidth4n @comment "those new excl-minors with bwidth 4 get here:" }{ @name e-bwidth3 @comment "those next with bwidth 3 get here:" }} @sub-input "(()(S))" { <$param1 @comment "this is the starting set of matroids ${param1}:" } !quiet !prtree (T) @sub-gener3 "(((4)(" @sub-generall "(((1)(" @sub-gener4bw "(((2)(" @sub-gener4n "(((3)(" @extinherit ext-forbid !extend b $input >$generall(0t)| !move ${generall}S| >${gener3}(0t)| !rex-bwidth3 ${gener3}S| !move ^1 >${gener4bw}(0t)| !writetreeto ${param1}b ${gener3}T| !writetreeto ${param1}b-4 ${gener4bw}T| !move ${gener4bw}S| >$gener4n(0t)| !filx-minor ${gener4n}s| $excluded !writetreeto ${param1}b-4n ${gener4n}T| !move ${excludedin}S| >$excludedout(0t)| !move ${gener4n}S| >$excludedout(0t)| !writetreeto ${param1}b-exc ${excludedout}T| !writetreeto ${param1}b-all (T) !prtree