In[]:=
teg=AccumulativeTokenEventGraph[AxiomaticTheoryTWP[AxiomaticTheory["SemigroupAxioms"]],2,"TokenLabeling"->False,GraphLayout->"SpringElectricalEmbedding"]
Out[]=
In[]:=
VertexCount[%,_TwoWayRule]
Out[]=
2517
In[]:=
LongEqual[a,b]
Out[]=
LongEqual[a,b]
In[]:=
VertexReplace[twoWayRuleFix[AccumulativeTokenEventGraph[AxiomaticTheoryTWP[AxiomaticTheory["SemigroupAxioms"]]/.CircleTimes->SmallCircle,2,"S","EventDeduplication"->True,"TokenLabeling"->True,GraphLayout->"SpringElectricalEmbedding"]],v:Except[_List]:>(Row[{#1," = ",#2}]&@@symbolifyPatterns[v])]
Out[]=
In[]:=
VertexReplace[twoWayRuleFix[AccumulativeTokenEventGraph[AxiomaticTheoryTWP[AxiomaticTheory["SemigroupAxioms"]]/.CircleTimes->SmallCircle,1,"B","EventDeduplication"->True,"TokenLabeling"->True,GraphLayout->"SpringElectricalEmbedding"]],v_:>symbolifyPatterns[v]]
Out[]=
In[]:=
VertexList[AccumulativeTokenEventGraph[AxiomaticTheoryTWP[AxiomaticTheory["SemigroupAxioms"]]/.CircleTimes->SmallCircle,1,"B","EventDeduplication"->True,"TokenLabeling"->True,GraphLayout->"SpringElectricalEmbedding"]]
Out[]=
{a_∘(b_∘c_)(a_∘b_)∘c_,a_∘(b_∘c_)a_∘(b_∘c_),a_∘(b_∘(c_∘d_))(a_∘(b_∘c_))∘d_,a_∘(b_∘(c_∘d_))((a_∘b_)∘c_)∘d_,a_∘(b_∘(c_∘(d_∘e_)))(a_∘b_)∘((c_∘d_)∘e_),a_∘(b_∘((c_∘d_)∘e_))(a_∘b_)∘(c_∘(d_∘e_)),a_∘((b_∘c_)∘d_)(a_∘b_)∘(c_∘d_),a_∘((b_∘c_)∘d_)((a_∘b_)∘c_)∘d_,a_∘((b_∘(c_∘d_))∘e_)(a_∘((b_∘c_)∘d_))∘e_,a_∘(((b_∘c_)∘d_)∘e_)(a_∘(b_∘(c_∘d_)))∘e_,(a_∘b_)∘c_(a_∘b_)∘c_,(a_∘b_)∘(c_∘d_)(a_∘(b_∘c_))∘d_,(a_∘(b_∘c_))∘(d_∘e_)(((a_∘b_)∘c_)∘d_)∘e_,((a_∘b_)∘c_)∘(d_∘e_)((a_∘(b_∘c_))∘d_)∘e_,{Event,1,1}}
In[]:=
VertexReplace[twoWayRuleFix[AccumulativeTokenEventGraph[AxiomaticTheoryTWP[AxiomaticTheory["SemigroupAxioms"]]/.CircleTimes->SmallCircle,2,"B","EventDeduplication"->True,"TokenLabeling"->False,GraphLayout->"SpringElectricalEmbedding"]],v_:>symbolifyPatterns[v]]
Out[]=
In[]:=
Column[TraditionalForm/@(RandomSample[vlist,3]/.TwoWayRule->Equal)]
Out[]=
a∘(((b∘((c∘(d∘e))∘f))∘g)∘h)(a∘((b∘((c∘d)∘e))∘f))∘(g∘h) |
a∘(((b∘(c∘d))∘e)∘f)(a∘(b∘c))∘((d∘e)∘f) |
(a∘(b∘((c∘d)∘e)))∘f(a∘((b∘c)∘(d∘e)))∘f |
In[]:=
Text[Column[TraditionalForm/@(RandomSample[vlist,5]/.TwoWayRule->Equal),Dividers->{{1->Transparent,2->Transparent}},Frame->All,FrameStyle->LightGray,Spacings->1]]
Out[]=
((a∘b)∘c)∘(d∘(((e∘f)∘g)∘(h∘i)))((a∘(b∘c))∘d)∘(((e∘(f∘g))∘h)∘i) |
((a∘b)∘(c∘d))∘(e∘(f∘(g∘h)))((a∘((b∘c)∘d))∘e)∘((f∘g)∘h) |
a∘(b∘((c∘d)∘(e∘f)))(a∘(b∘c))∘((d∘e)∘f) |
a∘((((b∘c)∘d)∘e)∘f)((a∘b)∘(c∘(d∘e)))∘f |
a∘(((b∘(c∘(d∘(e∘f))))∘g)∘h)(a∘(b∘((((c∘d)∘e)∘f)∘g)))∘h |
In[]:=
Text[Column[TraditionalForm/@(RandomSample[vlist,5]/.TwoWayRule->Equal),Dividers->{{1->Transparent,2->Transparent}},Frame->All,FrameStyle->LightGray,Spacings->1]]
Out[]=
((a∘b)∘(c∘d))∘((e∘f)∘g)(((a∘((b∘c)∘d))∘e)∘f)∘g |
(a∘(b∘c))∘(d∘(((e∘f)∘g)∘h))((((a∘b)∘c)∘d)∘(e∘(f∘g)))∘h |
a∘((b∘(((c∘d)∘e)∘f))∘g)(a∘(((b∘c)∘(d∘e))∘f))∘g |
a∘(((((b∘c)∘d)∘e)∘f)∘g)(a∘((b∘(c∘d))∘(e∘f)))∘g |
a∘((b∘(c∘(d∘(e∘f))))∘g)(a∘(b∘(c∘((d∘e)∘f))))∘g |