WOLFRAM NOTEBOOK

Using full recursive embedding

In[]:=
Graph[Rule@@@#,GraphLayout"SpringElectricalEmbedding"]&/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,}},3]
Out[]=
In[]:=
Graph[Rule@@@#,GraphLayout"SpringElectricalEmbedding"]&/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,}},7]
Out[]=
In[]:=
Graph[Rule@@@#,GraphLayout"SpringElectricalEmbedding"]&/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,Sort@p},{y,Sort@p},{z,Sort@p}]]&,{{,},{,}},7]
Out[]=
In[]:=
RecursiveDraw[ttt_]:=Graph[Rule@@@ttt,GraphLayout"SpringElectricalEmbedding",VertexShapeFunction({Style[Disk[#1,Min[#3]],Opacity[.2],Yellow],Inset[If[Depth[#2]2,#2,UndirectedGraph[Rule@@@#2,GraphLayout"SpringElectricalEmbedding",ImageSize#3]],#1,Center,#3]}&),VertexSize.4,PerformanceGoal"Quality"]
In[]:=
RecursiveDraw/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,}},3]
Out[]=
In[]:=
RecursiveDraw/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,},{,},{,}},3]
Out[]=
In[]:=
RecursiveDraw/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,},{,},{,}},6]
Out[]=
In[]:=
RecursiveDraw/@NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,}},4]
Out[]=
Every node contains its event history
Specifically it contains the past cone in the causal graph that led to that node
{{x,y},{x,z}}{{x,z},{x,p},{y,p},{z,p}}
{{x,y},{x,z}}{{x,p},{y,p},{z,p},{x,z}}

Could index rules, and RHS copies

Rendering

Color code for edges and holders
In[]:=
NestList[SubsetReplace[#,p:{{x_,y_},{x_,z_}}:>Sequence[{x,z},{x,p},{y,p},{z,p}]]&,{{,},{,}},3]
Out[]=
In[]:=
testf=NestList[SubsetReplace[#,p:{f[x_,y_],f[x_,z_]}:>Sequence[f[x,z],f[x,p],f[y,p],f[z,p]]]&,{f[,],f[,]},3]
Out[]=
Dotted is orderless; orange order matters
Sets of relations of elements
Nested sets of relations

Equivalence to free variable (aka unique names) approach

They are equivalent when

1. There is one new variable on the right (otherwise you need an index)

2. There are no edges that are identical between LHS and RHS, or within RHS

3. There are no repeated edges in the initial condition

Node history graph

Gives past light cone from each node

Edges vs Vertices

Every path has a repetition of List, e, v
This is probably hashing frames
Each edge gets its own color (the two initial edges are coincidentally the same and get the same color)
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.