2,2  3,2

1 step:
True96,False4606
Out[]=
FinalPicture2[#,7]&/@{{{1,2},{1,3}}{{4,1},{4,2},{4,3}},{{1,2},{3,2}}{{1,4},{2,4},{3,4}},{{1,2},{3,2}}{{1,3},{2,3},{4,3}},{{1,2},{1,2}}{{3,3},{3,3},{2,3}}}
In[]:=
Out[]=
WolframModel[#,{{0,0},{0,0}},9,"CausalGraph"]&/@{{{1,2},{1,3}}{{4,1},{4,2},{4,3}},{{1,2},{3,2}}{{1,4},{2,4},{3,4}},{{1,2},{3,2}}{{1,3},{2,3},{4,3}},{{1,2},{1,2}}{{3,3},{3,3},{2,3}}}
In[]:=
Out[]=
WolframModel[#,{{0,0},{0,0}},20,"CausalGraph"]&/@{{{1,2},{1,3}}{{4,1},{4,2},{4,3}},{{1,2},{3,2}}{{1,4},{2,4},{3,4}},{{1,2},{3,2}}{{1,3},{2,3},{4,3}},{{1,2},{1,2}}{{3,3},{3,3},{2,3}}}
In[]:=
Out[]=
(Consider multiway-equivalent rules)
ParallelMapMonitored[Graph[MultiwaySystem[WolframModel[#],{{0,0},{0,0}},4,"StatesGraph"],VertexSize1]&,{{{1,2},{1,3}}{{4,1},{4,2},{4,3}},{{1,2},{3,2}}{{1,4},{2,4},{3,4}},{{1,2},{3,2}}{{1,3},{2,3},{4,3}},{{1,2},{1,2}}{{3,3},{3,3},{2,3}}}]
In[]:=
Out[]=
2 steps:
False4485,True121
FinalPicture2[#,7]&/@{{{1,2},{1,3}}{{2,1},{2,1},{2,4}},{{1,2},{3,2}}{{1,1},{1,2},{4,1}}}
In[]:=
Out[]=
3 steps:
False4253,$Aborted220,True12
{{{1,2},{1,3}}{{2,4},{2,3},{4,1}}}
FinalPicture2[{{{1,2},{1,3}}{{2,4},{2,3},{4,1}}},20]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,4},{2,3},{4,1}}],{{0,0},{0,0}},4,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,4},{2,3},{4,1}}],{{0,0},{0,0}},5,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,4},{2,3},{4,1}}],{{0,0},{0,0}},7,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
WolframModel[{{1,2},{1,3}}{{2,4},{2,3},{4,1}},{{0,0},{0,0}},20,"CausalGraph"]
In[]:=
Out[]=
WolframModel[{{1,2},{1,3}}{{2,4},{2,3},{4,1}},{{0,0},{0,0}},30,"CausalGraph"]
In[]:=
Out[]=
WolframModel[{{1,2},{1,3}}{{2,4},{2,3},{4,1}},{{0,0},{0,0}},40,"CausalGraph"]
In[]:=
Out[]=

Prize Rule

TotalCausalInvariantQ[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],1]
In[]:=
False
Out[]=
TotalCausalInvariantQ[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],2]
In[]:=
False
Out[]=
TotalCausalInvariantQ[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],3]
In[]:=
False
Out[]=
TotalCausalInvariantQ[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],4]//Timing
In[]:=
{75.3347,False}
Out[]=
CanonicalCriticalPairs[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],1,"IncludeSelfPairs"False]
In[]:=
Out[]=
Length/@%235
In[]:=
Resolved6,Unresolved52
Out[]=
Map[WolframModelPlot[#,ImageSizeTiny]&,%["Unresolved"],{2}]
In[]:=
Out[]=
ParallelDo[crits[i]=CanonicalCriticalPairs[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],i,"IncludeSelfPairs"False]["Resolved"];,{i,0,3}]
In[]:=
RERUN WITHOUT RESOLVED!!!
ParallelDo[crits[i]=CanonicalCriticalPairs[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],i,"IncludeSelfPairs"False];,{i,0,3}]
all["Unresolved"]//Length
In[]:=
58
Out[]=
Length[allx["Unresolved"]]
In[]:=
58
Out[]=
Map[FindCanonicalHypergraph,allx["Unresolved"],{2}];
In[]:=
Length[%]
In[]:=
58
Out[]=
CanonicalCriticalPairs[WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}}],2,"IncludeSelfPairs"False]
In[]:=
Out[]=
Length/@%
In[]:=
Resolved6,Unresolved52
Out[]=

Interesting Rules

2,2  3,2 rule

Takes 3 steps:
TotalCausalInvariantQ[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],1]
In[]:=
False
Out[]=
TotalCausalInvariantQ[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],2]
In[]:=
False
Out[]=
TotalCausalInvariantQ[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],3]
In[]:=
True
Out[]=
CanonicalCriticalPairs[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}]]
CanonicalCriticalPairs[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],1]
Out[]=
FinalPicture2[{{1,2},{1,3}}{{2,1},{2,1},{2,4}},10]
In[]:=
Out[]=
FinalPicture2[{{1,2},{1,3}}{{2,1},{2,1},{2,4}},15]
In[]:=
Out[]=
WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}},{{0,0},{0,0}},15,"CausalGraph"]
In[]:=
Out[]=
WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}},{{0,0},{0,0}},20,"CausalGraph"]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],{{0,0},{0,0}},4,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],{{0,0},{0,0}},5,"StatesGraphStructure"]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],{{0,0},{0,0}},3,"BranchialGraph"],VertexSize1]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2},{1,3}}{{2,1},{2,1},{2,4}}],{{0,0},{0,0}},4,"BranchialGraph"],VertexSize1]
In[]:=
Out[]=

1-ary case

FinalPicture[{{{1},{1}}{{1},{1},{1}}},3]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{{1},{1}}{{1},{1},{1}}}],{{0},{0}},4,"StatesGraph"],VertexSize1]
In[]:=
Out[]=

Single LHS rules

Graph[MultiwaySystem[WolframModel[{{1,2}}{{1,3},{1,4},{3,2}}],{{0,0},{0,0}},4,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2}}{{1,3},{1,4},{3,2}}],{{0,0},{0,0}},3,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{1,2}}{{1,3},{1,4},{3,2}}],{{0,0},{0,0}},4,"StatesGraphStructure"],GraphLayout->"SpringElectricalEmbedding"]
In[]:=
Out[]=
LayeredGraphPlot[%%,AspectRatio1/2]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{x,y}}{{y,z},{z,x}}],{{0,0}},6,"StatesGraph"],VertexSize1]
In[]:=
Out[]=
Graph[MultiwaySystem[WolframModel[{{x,y}}{{x,y},{y,z}}],{{0,0}},4,"StatesGraph"],VertexSize1,PerformanceGoal"Quality"]
In[]:=
Out[]=
LayeredGraphPlot[MultiwaySystem[WolframModel[{{x,y}}{{x,y},{y,z}}],{{0,0}},6,"StatesGraphStructure"],AspectRatio1/2]
In[]:=
Out[]=
​