In[]:=
ResourceFunction["MultiwaySystem"][{"AB""BA","BA""AB"},"BBAAABA",8,"StatesGraph",GraphLayout"LayeredDigraphEmbedding"]
Out[]=
In[]:=
FindShortestPath[ResourceFunction["MultiwaySystem"][{"AB""BA","BA""AB"},"BBAAABA",8,"StatesGraph",GraphLayout"LayeredDigraphEmbedding"],"BBAAABA","AAABABB"]
Out[]=
{BBAAABA,BABAABA,ABBAABA,ABABABA,AABBABA,AABABBA,AAABBBA,AAABBAB,AAABABB}
In[]:=
MultiwayGroup[<|"Generators"generators_List,"Relations"relations_List,"Identity"identity_,"Inverses"inverses_List|>,stepCount_Integer,rest___]:=Module[{stringGenerators,stringRelations,stringIdentity,stringInverses,generatorRules,relationRules,identityRules,inverseRules},​​stringGenerators=ToString/@generators;​​stringRelations=(ToString[First[#]]ToString[Last[#]])&/@relations;​​stringIdentity=ToString[identity];​​stringInverses=ToString/@inverses;​​generatorRules=DeleteDuplicates[Catenate[Module[{generator=#},generatorStringJoin[generator,#]&/@Join[stringGenerators,{stringIdentity},stringInverses]]&/@Join[stringGenerators,{stringIdentity},stringInverses]]];​​relationRules=DeleteDuplicates[Catenate[{First[#]Last[#],Last[#]First[#]}&/@stringRelations]];​​identityRules=DeleteDuplicates[Catenate[Module[{generator=#},{StringJoin[generator,stringIdentity]generator,StringJoin[stringIdentity,generator]generator}]&/@Join[stringGenerators,{stringIdentity},stringInverses]]];​​inverseRules=DeleteDuplicates[Catenate[Module[{index=#},{StringJoin[stringGenerators[[#]],stringInverses[[#]]]stringIdentity,StringJoin[stringInverses[[#]],stringGenerators[[#]]]stringIdentity}]&/@Range[Length[generators]]]];​​ResourceFunction["MultiwaySystem"][Join[generatorRules,relationRules,identityRules,inverseRules],Join[stringGenerators,{stringIdentity},stringInverses],stepCount,rest]]
In[]:=
MultiwayGroup[<|"Generators"{"A"},"Relations"{},"Identity""","Inverses"{"a"}|>,2,"StatesGraph"]
Out[]=
[[[ some edges correspond to appending a generator; others to applying a relation ]]]
In[]:=
MultiwayGroup[<|"Generators"{"A"},"Relations"{},"Identity""","Inverses"{"a"}|>,2,"EvolutionEventsGraph"]
Out[]=
In[]:=
MultiwaySemigroup[<|"Generators"{"A"},"Relations"{}|>,2,"StatesGraph"]
Out[]=
In[]:=
MultiwaySemigroup[<|"Generators"{"A","B"},"Relations"{}|>,2,"StatesGraph"]
Out[]=
https://www.wolframscience.com/nks/notes-12-9--comparison-to-multiway-systems/
In[]:=
ResourceFunction["MultiwaySystem"][{"Aa""","aA""","""Aa","""aA"},ResourceFunction["StringTuples"]["Aa",3],2,"StatesGraph"]
Out[]=
[[ Should avoid inserting identity elements in the middle of the string ]]

Adding Lemmas

Example of a model: a particular group, vs. groups in general.
One approach: add relations to the generic axioms to force us to have a particular group.
Another approach: explicit multiplication table (i.e. a representation) [there are a set of inequivalent words on which this operates]

One notion of time in a group involves appending generators one at a time [i.e. this is a way to construct an object that corresponds to the group]

Euclid

One coordinatization: distance from different common notions

Coordinatization

Code

More

With Novelty Generator

[[ We get this causal invariant structure because we’re adding on both left and right ; but we’d get the same idea by just adding on the right ]]
[[ Hacky approach: just have an X at the end of each string ]]

Free semigroup:

Could coordinatize by # of rule applications

[[ Powerful theorem ~ high-mass gravitational lensing object ??? ]]

You can add lemmas/relations that give new information

but they have to be consistent with the underlying axiom system

Claim: there is a reasonably uniform coordinatization (or patches) in metamathematical space

Leibniz: identity of indiscernables

Mathematics is in practice doable because you can reuse lemmas etc. that you’ve used before

​

We are computationally bounded  we build a physics/mathematics that we can do

This might not be possible
But it is, because of causal invariance
[causal invariance guarantees we can’t get lost, e.g. doing random search]

How uniformly doable is mathematics?

[Is there a systematic way of extracting reducibility from these irreducible systems?]