FusionAtlasPaths={"~/projects/fusionatlas/package/"};
$Path=$Path~Join~FusionAtlasPaths;
<<FusionAtlas`

FusionAtlas`Java`FusionAtlasScalaDirectory[]

GraphToScalaObject[HaagerupBigraph]

Classifier[d_?NumericQ,g_,ignoredWeeds_]:=JavaNew["org.fusionatlas.enumerators.QueueClassifier",d,GraphToScalaObject[g],AsScalaList[GraphToScalaObject/@ignoredWeeds]]

A3=GraphFromString["bwd1v1duals1v1"];

LoadJavaClass["org.fusionatlas.enumerators.EnumeratorApplication$"];

obstructedTriplePoints=ToExpression[#@toMathematicaInputString[]]&/@JavaConversions`asList[org`fusionatlas`enumerators`EnumeratorApplication$`MODULE$@obstructedTriplePoints[]]@toArray[];

ignoredWeeds=ToExpression[#@toMathematicaInputString[]]&/@JavaConversions`asList[org`fusionatlas`enumerators`EnumeratorApplication$`MODULE$@ignoredWeeds[]]@toArray[];

Length[ignoredWeeds]

indices={2.23607,2.28825,2.44949,3.00000};

indices={2.23607,2.28825};

indices={2.44949};

classifiers=Classifier[#,{A3,A3},ignoredWeeds]&/@indices

KnownObstructions[{g1_BigraphWithDuals,g2_BigraphWithDuals}]:=Union[KnownObstructions[g1[[1]]],KnownObstructions[g2[[1]]]]

SetDebugMode[True];SetDebugQueueInterval[1.];

LoadObstructions[list:{___GradedBigraph}]:=LookupObstructions[Complement[list,Cases[DownValues[KnownObstructions],_GradedBigraph,∞]]]/.{g_GradedBigraph,obstructions_List}:>(KnownObstructions[g]=obstructions)

scheduling=True;

scheduling=False;

Dynamic[Length[candidates]]

candidates={};

weeds={};

pause=0;
While[Length[weeds]<6000,
#@update[]&/@classifiers;
lastNumberOfWeeds=Length[weeds];
Print[Length[weeds=SortBy[Union[Flatten[(GraphFromString[#@toString[]]&/@JavaConversions`asList[#@weeds[]]@toArray[])&/@classifiers,1]],GraphRank[#]-GraphDepth[#[[1]]]&]], " weeds and ",Length[vines=SortBy[Union[Flatten[(GraphFromString[#@toString[]]&/@JavaConversions`asList[#@vines[]]@toArray[])&/@classifiers,1]],GraphRank[#]-GraphDepth[#[[1]]]&]], " vines"];
translates=Flatten[Table[Translate[DeleteCases[vines,c_/;DimensionOfGenerator[c[[1]]]≤2],k],{k,0,10,2}],1];
bigraphs=Union[Cases[translates,_GradedBigraph,∞]];
LoadObstructions[bigraphs];
RecordObstructions[bigraphs];
candidates=Union[candidates~Join~(PermuteToReduceCrossings/@Cases[translates,g_/;KnownObstructions[g]=={}])];
If[scheduling∧lastNumberOfWeeds==Length[weeds],#@schedulePending[]&/@classifiers];
Pause[5];
]

DisplayBigraph/@PermuteToReduceCrossings/@RandomSample[weeds,10]

DisplayBigraph/@candidates

candidatesAt[x_]:=Cases[candidates,c_/;RootReduce[DimensionOfGenerator[c]-x]==0]

candidatesBetween[x_,y_]:=Cases[candidates,c_/;RootReduce[DimensionOfGenerator[c]-x]>0&&RootReduce[DimensionOfGenerator[c]-y]<0]

DisplayBigraph/@candidatesBetween[2,(Sqrt[5])]

DisplayBigraph/@candidatesAt[(Sqrt[5])]

DisplayBigraph/@candidatesBetween[(Sqrt[5]),(Sqrt[3+(Sqrt[5])])]

DisplayBigraph/@candidatesAt[(Sqrt[3+(Sqrt[5])])]

DisplayBigraph/@candidatesBetween[(Sqrt[3+(Sqrt[5])]),(Sqrt[6])]

DisplayBigraph/@candidatesAt[(Sqrt[6])]

noFusionRules

noFusionRules={{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{2,1,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{2,1,3,4}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}}],DualData[{1},{1},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}}],DualData[{1},{1},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}}],DualData[{1},{1},{2,1,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}}],DualData[{1},{1},{2,1,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}}],DualData[{1},{1},{2,1,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,3,2},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,4,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{2,1,3,4},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{2,1,4,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,3,4},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,4,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{2,1,3,4},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,3,2,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{2,1,4,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{1,0,1}}],DualData[{1},{1},{3,2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{1,0,1}}],DualData[{1},{1},{3,2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{1,0,1}}],DualData[{1},{1},{3,2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{3,2,1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,3},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{1,2,3},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{1,2,3},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{1,2,3},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{1,2,3},{1,3,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{1,2,3},{1,3,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{1,2,3},{1,3,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{2,1,3},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{2,1,3},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{2,1,3},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{2,1,3},{1,3,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{2,1,3},{1,3,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,0,1}},{{1},{1},{1}}],DualData[{1},{1},{2,1,3},{1,3,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}}],DualData[{1},{1},{1},{1,2,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}}],DualData[{1},{1},{1},{1,2,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}}],DualData[{1},{1},{1},{1,2,3},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}}],DualData[{1},{1},{1},{1,3,2},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{2,1,3},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}}],DualData[{1},{1},{1},{1,3,2},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}}],DualData[{1},{1},{1},{1,3,2},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1,2,3},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,1},{0,0,1}},{{1,0,0}},{{1}}],DualData[{1},{1},{1},{1,2,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,1},{0,0,1}},{{1,0,0}},{{1}}],DualData[{1},{1},{1},{1,2,3},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}},{{1,0},{1,0}},{{1,1}}],DualData[{1},{1},{1,2,3},{1,2},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}},{{1,0},{1,0}},{{1,1}}],DualData[{1},{1},{1,2,3},{1,2},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}},{{1,0},{1,0}},{{1,1}}],DualData[{1},{1},{1,2,3},{1,2},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}},{{1,0},{1,0}},{{1,0},{1,0},{0,1},{0,1}}],DualData[{1},{1},{1,2,3},{1,2},{1,3,2,4}]]}};

DisplayBigraph/@noFusionRules

someFusionRules

someFusionRules={{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{2}}],DualData[{1},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{2}}],DualData[{1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{2}},{{1}}],DualData[{1},{1},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{2}},{{1}}],DualData[{1},{1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}}],DualData[{1},{1},{2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}}],DualData[{1},{1},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{0,1,1},{0,0,1}}],DualData[{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{0,1,1},{0,0,1}}],DualData[{1},{1},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{2,1,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{2,1,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{2,1,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{2,1,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{2,1,4,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1},{1},{1}},{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}],DualData[{1},{1},{2,1,4,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1}},{{0,1},{0,1}}],DualData[{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1}},{{1,0},{0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}}],DualData[{1},{1},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,3},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,0,1},{0,0,0,1}}],DualData[{1},{1},{1,2,3,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1},{1}},{{0,0,1,0},{0,0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,2,3,4},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,1},{0,1}},{{0,1}}],DualData[{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,1},{0,1}},{{0,1}}],DualData[{1},{1},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{0,1},{0,1}},{{0,1,0},{1,0,1}}],DualData[{1},{1},{2,1,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{0,1},{0,1}},{{0,1,0},{1,0,1}}],DualData[{1},{1},{2,1,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{1,0,1}}],DualData[{1},{1},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{1,0,1}}],DualData[{1},{1},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{1,0,1}}],DualData[{1},{1},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{1,2,3},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,0},{0,1},{0,1}},{{0,1,0,1}}],DualData[{1},{1},{1,4,3,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,1}},{{1}},{{1}}],DualData[{1},{1},{1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,0},{0,1},{0,1}},{{0,1,0,1}}],DualData[{1},{1},{3,2,1,4}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,1}},{{1}},{{1}}],DualData[{1},{1},{1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1}},{{1,1},{0,1}}],DualData[{1},{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1}},{{1,1},{0,1}}],DualData[{1},{1},{1},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,1},{0,0,1}}],DualData[{1},{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,1},{0,0,1}}],DualData[{1},{1},{1},{1,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,3,2},{2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1,3,2},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,1,0},{0,0,1}},{{0,0,1}}],DualData[{1},{1},{1,2,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,1,0},{0,0,1}},{{0,0,1}}],DualData[{1},{1},{1,2,3},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,1,0},{0,0,1}},{{0,0,1}}],DualData[{1},{1},{1,2,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2,3},{2,1,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2,3},{1,2,3}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,2,3},{1,2,3}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,3,2},{1,3,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0},{0,0,1}}],DualData[{1},{1},{1,3,2},{1,3,2}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,1}},{{1}},{{1}}],DualData[{1},{1},{1},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,1}},{{1}},{{1}}],DualData[{1},{1},{1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{1,2,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{1,2,3},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{3,2,1},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1},{1}},{{1,0},{1,1},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{3,2,1},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0}},{{1,0},{0,1}}],DualData[{1},{1},{1},{2,1,3},{2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{1,0,0},{0,1,0},{0,0,1}},{{1,0,0},{0,1,0}},{{1,0},{0,1}}],DualData[{1},{1},{1},{2,1,3},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1}},{{1,0},{0,1}},{{1,0},{1,1}},{{1,0}},{{1}}],DualData[{1},{1},{1,2},{1,2},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1}},{{0,1},{0,1}},{{1,0},{1,0},{0,1}},{{0,1,0}},{{1}}],DualData[{1},{1},{1,2},{1,2,3},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1}},{{0,1},{0,1}}],DualData[{1},{1},{1},{1},{1,2}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1}},{{1,0},{0,1}},{{1,0},{0,1}}],DualData[{1},{1},{1},{1},{1,2},{2,1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1}},{{0,1},{0,1}},{{1,0}},{{1}}],DualData[{1},{1},{1},{1,2},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1}},{{1,0},{0,1}},{{1,0},{1,0},{0,1}},{{0,0,1}},{{1}}],DualData[{1},{1},{1},{1,2},{1,3,2},{1}]]},{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,0},{0,1}},{{1,1}}],DualData[{1},{1},{1},{2,1,3},{2,1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,1}},{{1}},{{1}}],DualData[{1},{1},{1},{1,3,2},{1},{1}]]}};

candidates=Complement[candidates,noFusionRules];

hardFusionRules={};

hardFusionRules={GradedBigraph[{{1}},{{1}},{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,1,0},{0,0,1}},{{1,0},{1,0},{0,1},{0,1}}],GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,1}}]};

DisplayBigraph/@DeleteCases[Complement[candidates,someFusionRules],c_/;MatchQ[c[[1,1]],Alternatives@@hardFusionRules]]

SetDebugQueueInterval[0.]

candidates=Complement[candidates,noFusionRules];

(Print[{DisplayBigraph[#],Length[FindFusionRules@@#]}];If[Length[FindFusionRules@@#]==0,AppendTo[noFusionRules,#];noFusionRules=Union[noFusionRules],AppendTo[someFusionRules,#];someFusionRules=Union[someFusionRules]])&/@DeleteCases[Complement[candidates,someFusionRules],c_/;MatchQ[c[[1,1]],Alternatives@@hardFusionRules]]

{GraphToString/@#,DisplayBigraph[#]}&/@candidatesBetween[2,(Sqrt[5])]

{GraphToString/@#,DisplayBigraph[#]}&/@candidatesAt[(Sqrt[5])]

{GraphToString/@#,DisplayBigraph[#]}&/@candidatesBetween[(Sqrt[5]),(Sqrt[3+(Sqrt[5])])]

{GraphToString/@#,DisplayBigraph[#]}&/@candidatesAt[(Sqrt[3+(Sqrt[5])])]

{GraphToString/@#,DisplayBigraph[#]}&/@candidatesBetween[(Sqrt[3+(Sqrt[5])]),(Sqrt[6])]

ToRadicals/@(RootReduce[((DimensionOfGenerator[#])^2)]&/@candidatesBetween[(Sqrt[3+(Sqrt[5])]),(Sqrt[6])])

N/@%

{GraphToString/@#,DisplayBigraph[#]}&/@candidatesAt[(Sqrt[6])]

DisplayBigraph/@candidates

manyFusionRules={{BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,1}}],DualData[{1},{1},{2,1,3},{1}]],BigraphWithDuals[GradedBigraph[{{1}},{{1}},{{1}},{{1},{1},{1}},{{0,0,1},{0,0,1}},{{1,1}}],DualData[{1},{1},{2,1,3},{1}]]}};

(Print[#];FindFusionRules@@#)&/@Complement[candidates,manyFusionRules]

DisplayBigraph/@(failedDimensionFunctionTest=Cases[Complement[candidates,manyFusionRules],c_/;!(FormalCodegreesInDimensionFieldTest@@c)])

failedDimensionFunctionTest

candidates=Complement[candidates,failedDimensionFunctionTest];

candidates=Cases[Complement[candidates,manyFusionRules],c_/;(FormalCodegreesInDimensionFieldTest@@c)]~Join~manyFusionRules;

Length[obstructedTriplePoints]

Cases[obstructedTriplePoints,c_/;TriplePointObstruction[c]]

Length[tp=Cases[weeds~Join~obstructedTriplePoints,c_/;TriplePointObstruction[c]==False]]

tp=tp//.c_/;!TriplePointObstruction[Truncate[c,-1]]:>Truncate[c,-1];

tp=Union[tp];

Length[tp]

DisplayBigraph[PermuteToReduceCrossings[tp[[1204]]]]

StringJoin@@("PairOfBigraphsWithDuals(\""<>#[[1]]<>"\", \""<>#[[2]]<>"\"),\n"&/@Map[GraphToString,tp,{2}])

DisplayBigraph/@PermuteToReduceCrossings/@Take[SortBy[weeds,GraphRank],20]

DisplayBigraph/@PermuteToReduceCrossings/@Take[SortBy[weeds,GraphRank[#]-GraphDepth[#[[1]]]&],20]

DisplayBigraph/@PermuteToReduceCrossings/@RandomSample[weeds,10]

Sort[Tally[GraphRank/@weeds]]

Sort[Tally[GraphRank/@candidates]]

Sort[Tally[GraphRank[#]-GraphDepth[#[[1]]]&/@weeds]]

Sort[Tally[GraphRank[#]-GraphDepth[#[[1]]]&/@candidates]]

Clear[weedsOfLength]
weedsOfLength[k_]:=weedsOfLength[k]=ChooseIsomorphismRepresentatives[Union[Truncate[#,k]&/@weeds]]

Table[Length[weedsOfLength[k]],{k,4,7}]

DisplayBigraph/@GraphFromString/@{"bwd1v1v1v1p1v1x0p1x0p0x1duals1v1v1x2","bwd1v1v1v1p1v0x1p1x0p1x0duals1v1v1x2"}

DisplayBigraph/@GraphFromString/@{"bwd1v1v1v1p1v1x0p1x0p0x1duals1v1v1x2","bwd1v1v1v1p1v0x1p1x0p1x0duals1v1v1x2"}

LoadJavaClass["org.fusionatlas.enumerators.Enumerator"]

indices

UnpackJavaObjects[Enumerator`extend[2.44949,GraphToScalaObject[GraphFromString["bwd1v1v1v1p1v1x0p1x0p0x1duals1v1v1x2"]],True]@toList[]@takeRight[50]]

DisplayBigraph/@%

Methods["org.fusionatlas.enumerators.Enumerator"]

Enumerator

GraphToScalaObject[GraphFromString["bwd1v1v1v1p1v1x0p1x0p0x1duals1v1v1x2"]]