In[]:=
Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,5]
Out[]=
In[]:=
ListPlot[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,%228,{2}]]]
Out[]=
In[]:=
Counts[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,5],{2}]]]
In[]:=
BubbleChart[Flatten/@List@@@Normal@Counts[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,5],{2}]]]]
Out[]=
In[]:=
BubbleChart[Flatten/@List@@@Normal@Counts[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,6],{2}]]]]
Out[]=
In[]:=
BubbleChart[Flatten/@List@@@Normal@Counts[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,7],{2}]]]]
Out[]=
In[]:=
BubbleChart[Flatten/@List@@@Normal@Counts[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,UniqueSoFar[Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,5]],{2}]]],AspectRatio->.5]
Out[]=
In[]:=
Module[{data=UniqueSoFar[Map[ToExpression]/@ResourceFunction["MultiwayFunctionSystem"][Values[substitutionLemmas[#,x_∘y_<->(y_∘x_)∘y_]]&,(a∘b)∘a,5]],proc,labs},proc=Flatten/@List@@@Normal@Counts[Catenate[MapIndexed[{First[#2],LeafCount[#]}&,data,{2}]]];labs=MapIndexed[{First[#2],First[TakeSmallestBy[#,LeafCount,1]]}&,data];labs=(lhs:({First[#],LeafCount[Last[#]],_})):>Callout[lhs,ExpressionGraph[Last[#]]]&/@labs;BubbleChart[proc/.labs,AspectRatio->.5]]