WOLFRAM NOTEBOOK

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

Adding Events

In[]:=
WolframModel[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},4,{"AllExpressions","CreatorEvents","DestroyerEvents"}]
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.
In[]:=
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]
Out[]=
In[]:=
SpacetimePlot[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},1]
Out[]=
In[]:=
SpacetimePlot[{{x,y},{x,z}}{{x,z},{x,w},{y,w},{z,w}},{{0,0},{0,0}},0]
Out[]=
Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.