In[]:=
ArrayPlot[$LifeData[[100]]["MatrixData"]]
Out[]=
Any oscillator ... we just need all its states
In[]:=
$LifeParts
Out[]=
Oscillator101{{{1,1}},{{0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0},{0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0},{0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
⋯6⋯
,{0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0},{0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0},{0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0}},{
⋯1⋯
},{
⋯1⋯
},{
⋯1⋯
},{{0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0},{0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0},{0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0},{1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1},{1,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1},{0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0},{0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0},{1,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1},{1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1},{0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0},{0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0},{0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0}}},
⋯766⋯
,$rats{
⋯1⋯
},
⋯6⋯

Full expression not available
(
original memory size:
91.5 MB)
In[]:=
Keys[$LifeParts]
Out[]=
{Oscillator,Spaceship,Strict still life,Gun,Puffer,Induction coil,Reflector}
​
In[]:=
ArrayPlot/@{{{0,0,0,0,0,0,0,1,1,0,0,0},{0,0,0,0,0,0,0,0,1,0,0,0},{0,0,0,1,1,1,0,0,0,0,0,1},{0,1,0,0,1,1,0,0,0,1,0,1},{0,0,1,1,0,0,0,0,0,0,1,1},{0,1,1,0,0,0,0,0,0,0,0,0},{1,1,0,0,0,0,0,0,0,0,0,0},{1,1,0,0,0,0,0,0,0,0,0,0},{0,1,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,1,0,0,0,0,0,0,0},{0,0,1,0,1,0,0,0,0,0,0,0},{0,0,0,1,1,0,0,0,0,0,0,0}},{{0,0,0,0,0,0,0,0,1,1,0,0,0},{0,0,0,0,0,0,0,1,1,0,0,0,0},{0,0,0,0,0,0,0,0,0,1,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,1,1},{0,0,0,0,0,0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,1,0,0,1},{0,1,1,0,0,0,0,0,1,1,0,0,0},{1,1,0,0,0,0,0,1,0,0,0,0,0},{0,0,1,0,0,0,0,1,0,1,0,0,0},{0,0,0,0,1,1,0,0,1,0,0,0,0},{0,0,0,0,1,1,0,0,0,0,0,0,0}}}
Out[]=

,

In[]:=
ArrayPlot/@{{{0,0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,1,0},{0,1,1,0,1,0,1,0,0},{1,0,1,0,1,0,1,0,1},{1,0,0,0,0,1,0,1,1},{0,1,1,1,0,1,0,0,0},{0,0,0,1,0,1,0,0,0},{0,0,0,0,1,0,0,0,0}}}
Out[]=


In[]:=
ArrayPlot/@{{{0,0,0,0,1,1},{0,0,1,0,1,1},{0,1,0,0,0,0},{0,0,0,0,1,0},{1,1,0,1,0,0},{1,1,0,0,0,0}},{{0,0,0,1,1,1},{0,0,0,1,1,1},{0,0,0,1,1,1},{1,1,1,0,0,0},{1,1,1,0,0,0},{1,1,1,0,0,0}},{{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0},{0,0,0,1,1,1,0,1},{0,0,1,0,1,1,0,0},{0,0,1,1,0,1,0,0},{1,0,1,1,1,0,0,0},{0,0,0,0,0,0,0,0},{0,0,1,0,0,0,0,0}},{{0,0,0,0,0,1,0,0},{0,0,0,0,1,0,1,0},{0,0,0,1,0,0,0,1},{0,0,1,0,0,0,1,0},{0,1,0,0,0,1,0,0},{1,0,0,0,1,0,0,0},{0,1,0,1,0,0,0,0},{0,0,1,0,0,0,0,0}},{{0,0,0,0,0,1,0,0},{0,0,0,0,1,1,1,0},{0,0,0,1,0,1,1,1},{0,0,1,0,0,0,1,0},{0,1,0,0,0,1,0,0},{1,1,1,0,1,0,0,0},{0,1,1,1,0,0,0,0},{0,0,1,0,0,0,0,0}},{{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,1},{0,0,0,1,0,0,0,1},{0,0,1,0,1,0,0,1},{1,0,0,1,0,1,0,0},{1,0,0,0,1,0,0,0},{1,0,0,0,0,0,0,0},{0,1,1,1,0,0,0,0}},{{0,0,0,0,0,0,1,0,0,0},{0,0,0,0,0,0,1,1,0,0},{0,0,0,0,0,1,1,0,1,0},{0,0,0,0,1,0,0,1,1,1},{0,0,0,1,0,1,0,1,0,0},{0,0,1,0,1,0,1,0,0,0},{1,1,1,0,0,1,0,0,0,0},{0,1,0,1,1,0,0,0,0,0},{0,0,1,1,0,0,0,0,0,0},{0,0,0,1,0,0,0,0,0,0}},{{0,0,0,0,0,0,1,1,0,0},{0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,1,0,0,0,1},{0,0,0,0,1,0,0,0,0,1},{0,0,0,1,0,1,0,1,0,0},{0,0,1,0,1,0,1,0,0,0},{1,0,0,0,0,1,0,0,0,0},{1,0,0,0,1,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0},{0,0,1,1,0,0,0,0,0,0}}}
Out[]=

,
,
,
,
,
,
,

In[]:=
Import["/Users/sw/Dropbox/GeneralBox/Blogs/GameOfLife2024/FromBrad/Data/Closures/6bits.wxf"]
Out[]=
1Data{{31,2},{32,2},{33,1},{33,3},{34,2},{35,2},{36,2},{37,2},{38,1},{38,3},{39,2},{40,2}},InComponents{},2Data{{21,16},{21,21},{22,14},{22,15},{22,17},{22,18},{22,19},{22,20},{22,22},{22,23},{23,16},{23,21}},InComponents{},3Data{{6,7},{6,8},{6,9},{7,8},{8,8},{9,8},{10,8},{11,7},{11,8},{11,9}},InComponents{},4Data{{22,5},{23,5},{23,6},{24,4},{24,6}},InComponents{},5Data{{14,7},{14,8},{14,9},{15,8},{16,8}},InComponents{},6Data{{1,8},{2,8},{3,7},{3,8},{3,9}},InComponents{},
⋯74⋯
,485Data{{22,5},{23,5},{23,6},{24,4},{24,6}},InComponents{478},
⋯4⋯
,490Data{{31,2},{32,2},{33,1},{33,3},{34,2},{35,2},{36,2},{37,2},{38,1},{38,3},{39,2},{40,2}},InComponents{483,484}
Full expression not available
(
original memory size:
0.7 MB)
In[]:=
Import["/Users/sw/Dropbox/GeneralBox/Blogs/GameOfLife2024/FromBrad/Data/Closures/6enginecordership.wxf"]
Out[]=
1Data{{20,45},{21,44},{21,45},{21,46},{22,43},{22,44},{22,46},{22,47},{23,44},{23,45},{23,46},{24,45},{25,43},{25,45},{26,42},{26,43},{26,44},{26,45},{27,42},{29,42},{29,43},{29,45},{29,46},{30,41},{30,47},{31,42},{31,46},{32,45}},InComponents{},2Data{{53,38},{54,38},{55,29},{55,38},{56,29},{56,31},{57,28},{57,32},{57,35},{57,36},{57,37},{58,30},{58,31},{58,32},{58,33},{58,34},{58,36},{59,30},{60,34},{60,35}},InComponents{},3Data{{43,26},{43,27},{43,28},{44,24},{45,23},{45,24},{46,21},{46,24},{47,21},{47,23},{48,23},{49,23},{49,24},{50,23},{50,25},{51,22},{51,23},{52,25},{52,26},{53,24}},InComponents{},
⋯12⋯
,16Data{{16,9},{16,10},{17,9},{17,10}},InComponents{},17Data{{8,17},{8,18},{9,17},{9,18}},InComponents{},
⋯96⋯

Full expression not available
(
original memory size:
2.4 MB)
In[]:=
Length[FileNames["*","/Users/sw/Dropbox/GeneralBox/Blogs/GameOfLife2024/FromBrad/Data/CanonicalParts"]]
Out[]=
1188
In[]:=
SetDirectory["/Users/sw/Dropbox/GeneralBox/Blogs/GameOfLife2024/FromBrad/Data/CanonicalParts"]
Out[]=
/Users/sw/Dropbox/GeneralBox/Blogs/GameOfLife2024/FromBrad/Data/CanonicalParts
In[]:=
files=FileBaseName/@FileNames["*","/Users/sw/Dropbox/GeneralBox/Blogs/GameOfLife2024/FromBrad/Data/CanonicalParts"];
In[]:=
Take[files,5]
Out[]=
{101,104p9,106p135,10enginecordership,110p62}
In[]:=
FileBaseName[#]->Length[Import[#,"WXF"]]&/@Take[FileNames[],10]
Out[]=
{1016,104p916,106p13554,10enginecordership258,110p6241,112p1517,112p5793,114p6h1v020,116p101182,117p9h3v010}

When does whole structure A appear inside structure B?

For both A and B get their lists of canonical modular parts
Does every element of some phase of A appear in some phase of B (but they all have to appear in the same phase)

Which oscillator configurations are primitive?

Code so far

Running

Redo

Run the year axis down....
[[ Number of times primitive structures from a given year appear ]]
To be debugged
Flip this around for “Euclid style”
[[[ Above graph can be turned into something in which each objects “arcs” back to the things that it uses .... on a line representing years... ]]]
Most things go back all the way: [ needs to divide by number of things in a given year ]