WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},4]
In[]:=
Out[]=
%["AllExpressions"]
In[]:=
Out[]=
Graph[Rule@@@%]
In[]:=
Out[]=
WolframModelPlot/@WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},4,"StatesList"]
In[]:=
Out[]=
Graph[Rule@@@WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},8,"AllExpressions"]]
In[]:=
Out[]=
LayeredGraphPlot[%]
In[]:=
Out[]=

Adding Events

WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},4,{"AllExpressions","CreatorEvents","DestroyerEvents"}]
In[]:=
Out[]=
Naming event nodes by edges
Make every event a node, connected to the edges it affects.
Edges get knitted together by their shared spatial nodes.
SpacetimePlot[rule_,init_,t_]:=SpacetimePlot0[WolframModel[rule,init,t,{"AllExpressions","CreatorEvents","DestroyerEvents"}]]
In[]:=
SpacetimePlot0[{edges_List,creators_List,destroyers_List}]:=Module[{clist,elist,dlist,vlist,event,edge,vertex},clist=event/@creators;dlist=event/@destroyers;vlist=Map[vertex,edges,{2}];elist=edge/@Range[Length[edges]];WolframModelPlot[DeleteCases[Join[Catenate[MapIndexed[Thread[List[edge[First[#2]],vertex[#1]]]&,edges,{2}]],Thread[List[clist,elist]],Thread[List[elist,dlist]],vlist],{_,event[Infinity]}|{event[0],_}],EdgeStyle<|{edge[_],vertex[_]}Purple,{event[_],edge[_]}Darker[Red],{edge[_],event[_]}->Darker[Red]|>,VertexStyle<|edge[_]LightGray,event[_]Red|>]]
In[]:=
SpacetimePlot[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},4]
In[]:=
Out[]=
SpacetimePlot[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},1]
In[]:=
Out[]=
SpacetimePlot[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},0]
In[]:=
Out[]=
SpacetimePlot[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},2]
In[]:=
Out[]=
{}
Out[]=
SpacetimePlot[{{1,2}}{{1,3},{3,2}},{{1,2}},4]
In[]:=
Out[]=
Table[SpacetimePlot[{{1,2}}{{1,3},{3,2}},{{1,2}},t],{t,0,6}]
In[]:=
Out[]=
WolframModel[{{1,2}}{{1,3},{3,2}},{{1,2}},6,"CausalGraph"]
In[]:=
Out[]=
Table[SpacetimePlot[{{x,y}}{{x,z},{y,z},{z,z}},{{1,1}},t],{t,0,4}]
In[]:=
Out[]=
WolframModel[{{x,y}}{{x,z},{y,z},{z,z}},{{1,1}},5,"CausalGraph"]
In[]:=
Out[]=
Table[SpacetimePlot[{{1,2,3}}{{1,4,6},{2,5,4},{3,6,5}},{{1,2,3}},t],{t,0,4}]
In[]:=
Out[]=
Table[SpacetimePlot[{{x,y},{x,z}}{{x,w},{y,w},{z,w}},{{0,0},{0,0}},t],{t,0,10}]
In[]:=
Out[]=
WolframModel[{{x,y},{x,z}}{{y,z},{y,w},{z,w},{w,x}},{{0,0},{0,0}},14,"CausalGraph"]
In[]:=
Out[]=
WolframModel[{{x,y},{x,z}}{{y,z},{y,w},{z,w},{w,x}},{{0,0},{0,0}},7,"LayeredCausalGraph"]
In[]:=
Out[]=
Table[SpacetimePlot[{{x,y},{x,z}}{{y,z},{y,w},{z,w},{w,x}},{{0,0},{0,0}},t],{t,0,6}]
In[]:=
Out[]=
​
​