Using full recursive embedding
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
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
Could index rules, and RHS copies
Rendering
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
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
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
Node history graph
Gives past light cone from each node
Edges vs Vertices
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)