{"A""AA","A""B"},{"A""AB","A""B"}
In[]:=
CausalInvariantQ[{"A""AB","B""A"},"A",1]
Out[]=
True
In[]:=
CausalInvariantQ[{"A""AB","A""B"},"AA",3]
Out[]=
False
In[]:=
MultiwaySystem[{"A""AA","A""B"},"A",4,"CriticalPairsList"]
Out[]=
In[]:=
MultiwaySystem[{"A""AA","A""B"},"A",4,"KnuthBendixCompletion"]
Out[]=
{BAA,AAB}
In[]:=
MultiwaySystem[{"A""AA","A""B","B""AA","AA""B"},"A",4,"CriticalPairsList"]
Out[]=
In[]:=
{Length[#Resolved],Length[#Unresolved]}&/@MultiwaySystem[{"A""AA","A""B"},"A",4,"CriticalPairsList"]
Out[]=
{{0,1},{4,1},{11,1},{32,1}}
In[]:=
PairRates[rule_,init_,t_]:={Length[#Resolved],Length[#Unresolved]}&/@MultiwaySystem[rule,init,t,"CriticalPairsList"]
In[]:=
EnumerateSubstitutionSystemRules[{12},2]
Out[]=
{{AAA},{AAB},{ABB}}
In[]:=
{#,PairRates[#,"A",4]}&/@EnumerateSubstitutionSystemRules[{12},2]
Out[]=
{{{AAA},{{0,0},{0,0},{0,0},{0,0}}},{{AAB},{{0,0},{0,0},{0,0},{0,0}}},{{ABB},{{0,0},{0,0},{0,0},{0,0}}}}
In[]:=
{#,PairRates[#,"A",4]}&/@EnumerateSubstitutionSystemRules[{12,11},2]
Out[]=
In[]:=
ParallelMapMonitored[{#,PairRates[#,"AA",4]}&,EnumerateSubstitutionSystemRules[{12,11},2]]
Out[]=
In[]:=
PairRates[{"A""AB","B""A"},"AA",8]
Out[]=
{{0,1},{6,0},{22,0},{66,0},{174,0},{420,0},{951,0},{2053,0}}
In[]:=
First/@%475
Out[]=
{0,18,34,61,89,126,165,214}
In[]:=
FindSequenceFunction[%,n]
Out[]=
FindSequenceFunction[{0,18,34,61,89,126,165,214},n]
In[]:=
Differences[{0,18,34,61,89,126,165,214}]
Out[]=
{18,16,27,28,37,39,49}
In[]:=
Differences[%]
Out[]=
{-2,11,1,9,2,10}
In[]:=
PairRates[{"A""AB","B""A"},"A",10]
Out[]=
{{0,0},{1,0},{4,0},{13,0},{36,0},{91,0},{215,0},{483,0},{1043,0},{2182,0}}
In[]:=
First/@%
Out[]=
{0,1,4,13,36,91,215,483,1043,2182}
In[]:=
Ratios[%485]//N
1
0
Out[]=
{ComplexInfinity,4.,3.25,2.76923,2.52778,2.36264,2.24651,2.15942,2.09204}
In[]:=
FindSequenceFunction[%,t]
Out[]=
FindSequenceFunction[{0,1,4,13,36,91,215,483,1043,2182},t]
In[]:=
PairRates[{"A""AB","A""B"},"AA",8]
Out[]=
{{0,6},{18,1},{34,4},{61,2},{89,5},{126,5},{165,9},{214,9}}
In[]:=
MultiwaySystem[{"A""AB","A""B"},"A",5,"CriticalPairsList"]
Out[]=
In[]:=
PairRates[{"A""AB","A""B"},"A",6]
Out[]=
{{0,1},{1,1},{1,2},{2,2},{2,3},{3,3}}
In[]:=
MultiwaySystem[{"A""AB","A""B"},"A",6,"StatesGraph"]//LayeredGraphPlot
Out[]=
In[]:=
MultiwaySystem[{"A""AB","A""B","B""AB"},"A",5,"StatesGraph"]
Out[]=
In[]:=
MultiwaySystem[{"A""AB","A""B"},"A",6,"KnuthBendixCompletion"]
Out[]=
{ABB,BAB,ABBBB,BBABB,ABBBBBB,BBBABBB}
In[]:=
MultiwaySystem[{"A""BB","A""B"},"A",6,"StatesGraph"]//LayeredGraphPlot
Out[]=
These are irrelevant additional completions:
Finding a hard-to-complete rule
Finding a hard-to-complete rule